sklearn.metrics.jaccard_score¶

sklearn.metrics.jaccard_score(y_true, y_pred, *, labels=None, pos_label=1, average=’binary‘, sample_weight=None, zero_division=’warn‘)¶

Jaccard similarity coefficient score.

Der Jaccard-Index oder Jaccard-Ähnlichkeitskoeffizient, definiert als die Größe der Schnittmenge geteilt durch die Größe der Vereinigung zweier Etikettensätze, wird verwendet, um einen Satz vorhergesagter Etiketten für eine Probe mit dem entsprechenden Satz von Etiketten in y_true zu vergleichen.

Lesen Sie mehr im Benutzerhandbuch.

Parameter y_true1d Array-ähnliches oder Label-Indikator-Array / dünnbesetzte Matrix

Grundwahrheit (korrekte) Labels.

y_pred1d array-ähnlich, oder Label-Indikator-Array / dünnbesetzte Matrix

Vorhergesagte Labels, wie sie von einem Klassifikator zurückgegeben werden.

labelsarray-ähnlich der Form (n_classes,), default=None

Die Menge der einzuschließenden Labels, wenn average != 'binary', und ihre Reihenfolge, wenn average is None. In den Daten vorhandene Beschriftungen können ausgeschlossen werden, um beispielsweise einen Mehrklassen-Durchschnitt zu berechnen, bei dem eine mehrheitlich negative Klasse ignoriert wird, während Beschriftungen, die nicht in den Daten vorhanden sind, zu 0 Komponenten in einem Makro-Durchschnitt führen. Bei Multilabel-Zielen sind die Labels Spaltenindizes. Standardmäßig werden alle Labels in y_true undy_pred in sortierter Reihenfolge verwendet.

pos_labelstr oder int, default=1

Die zu berichtende Klasse, wenn average='binary' und die Daten binär sind.Wenn es sich um Mehrklassen- oder Multilabel-Daten handelt, wird diese Angabe ignoriert; wenn labels= und average != 'binary' gesetzt werden, werden nur die Werte für dieses Label gemeldet.

average{None, ‚micro‘, ‚macro‘, ’samples‘, ‚weighted‘, ‚binary‘}, default=’binary‘

Wenn None, werden die Werte für jede Klasse zurückgegeben. Andernfalls bestimmt dies die Art der Mittelwertbildung, die an den Daten vorgenommen wird:

'binary':

Nur Ergebnisse für die durch pos_label angegebene Klasse melden.Dies gilt nur, wenn die Ziele (y_{true,pred}) binär sind.

'micro':

Metriken global berechnen, indem die Summe der wahren Positiven, falschen Negativen und falschen Positiven gezählt wird.

'macro':

Berechnen Sie die Metriken für jedes Label und ermitteln Sie ihren ungewichteten Mittelwert. Dabei wird das Ungleichgewicht der Labels nicht berücksichtigt.

'weighted':

Berechnen Sie die Metriken für jedes Label und ermitteln Sie deren Mittelwert, gewichtet mit der Unterstützung (der Anzahl der wahren Instanzen für jedes Label). Dies ändert das „Makro“, um das Ungleichgewicht der Labels zu berücksichtigen.

'samples':

Berechnen Sie Metriken für jede Instanz und finden Sie ihren Durchschnitt (nur sinnvoll für Multilabel-Klassifikation).

sample_weightarray-like of shape (n_samples,), default=None

Stichprobengewichte.

zero_division „warn“, {0.0, 1.0}, default=“warn“

Setzt den Wert, der zurückgegeben werden soll, wenn es eine Null-Division gibt, d.h. wenn es keine negativen Werte in Vorhersagen und Labels gibt. Wenn auf „warn“ gesetzt, verhält sich dies wie 0, aber es wird auch eine Warnung ausgelöst.

Liefert scorefloat (wenn average nicht None ist) oder array of floats, shape =

Siehe auch

accuracy_score, f_score, multilabel_confusion_matrix

Hinweise

jaccard_score kann eine schlechte Metrik sein, wenn es für einige Proben oder Klassen keine negativen Werte gibt. Jaccard ist undefiniert, wenn es keine wahren oder vorhergesagten Bezeichnungen gibt, und unsere Implementierung gibt einen Wert von 0 mit einer Warnung zurück.

1

Wikipedia-Eintrag für den Jaccard-Index.

Beispiele

>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])

Im binären Fall:

>>> jaccard_score(y_true, y_pred)0.6666...

Im multilabel Fall:

>>> jaccard_score(y_true, y_pred, average='samples')0.5833...>>> jaccard_score(y_true, y_pred, average='macro')0.6666...>>> jaccard_score(y_true, y_pred, average=None)array()

Im Multiklassen-Fall:

>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()

Beispiele mit sklearn.metrics.jaccard_score¶

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.