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’)¶
Współczynnik podobieństwa Jaccarda.
Wskaźnik Jaccarda lub współczynnik podobieństwa Jaccarda, zdefiniowany jako wielkość przecięcia podzielona przez wielkość unii dwóch zbiorów etykiet, jest używany do porównania zestawu przewidywanych etykiet dla próbki z odpowiadającym mu zestawem etykiet w y_true.
Czytaj więcej w Podręczniku użytkownika.
Parametry y_true1d tablica podobna do tablicy, lub tablica wskaźników etykiet / macierz rzadka
Ground truth (poprawne) etykiety.
y_pred1d array-like, or label indicator array / sparse matrix
Predicted labels, as returned by a classifier.
labelsarray-like of shape (n_classes,), default=None
Zbiór etykiet do uwzględnienia, jeśli average != 'binary', i ich kolejność, jeśli average is None. Etykiety obecne w danych mogą zostać wykluczone, na przykład w celu obliczenia średniej wieloklasowej ignorującej większość klas ujemnych, podczas gdy etykiety nieobecne w danych dadzą wynik 0 składowych w średniej makro. W przypadku celów wieloznakowych, etykiety są indeksami kolumn. Domyślnie wszystkie etykiety w y_true iy_pred są używane w porządku posortowanym.
pos_labelstr lub int, default=1
Klasa do raportowania, jeśli average='binary' i dane są binarne.Jeśli dane są wieloklasowe lub wieloznakowe, zostanie to zignorowane; ustawienie labels= i average != 'binary' spowoduje, że raportowane będą wyniki tylko dla tej etykiety.
average{None, 'micro’, 'macro’, 'samples’, 'weighted’, 'binary’}, default=’binary’
Jeśli None, zwracane są wyniki dla każdej klasy. W przeciwnym razie określa typ uśredniania wykonywanego na danych:
'binary':
Zgłaszaj wyniki tylko dla klasy określonej przez pos_label.Ma to zastosowanie tylko wtedy, gdy cele (y_{true,pred}) są binarne.
'micro':
Oblicz metryki globalnie, zliczając łączną liczbę wyników prawdziwie pozytywnych,fałszywie negatywnych i fałszywie pozytywnych.
'macro':
Oblicz metryki dla każdej etykiety i znajdź ich nieważoną średnią. To nie bierze pod uwagę nierównowagi etykiet.
'weighted':
Calculate metrics for each label, and find their average, weightedby support (the number of true instances for each label). To zmienia 'makro’, aby uwzględnić nierównowagę etykiet.
'samples':
Oblicz metryki dla każdej instancji i znajdź ich średnią (onlymeanful for multilabel classification).
sample_weightarray-like of shape (n_próbek,), default=None
Wagi próbek.
zero_division „warn”, {0.0, 1.0}, default=”warn”
Ustawia wartość do zwrócenia, gdy istnieje podział zerowy, tj. gdy nie ma wartości ujemnych w przewidywaniach i etykietach. Jeśli ustawione na „warn”, działa to jak 0, ale ostrzeżenie jest również podnoszone.
Zwraca scorefloat (jeśli średnia nie jest None) lub tablicę float, shape =
Zobacz także
accuracy_score, f_score, multilabel_confusion_matrix
Uwagi
jaccard_score może być słabą metryką, jeśli nie ma wartości ujemnych dla niektórych próbek lub klas. Jaccard jest niezdefiniowany, jeśli nie ma prawdziwych lub przewidywanych etykiet, a nasza implementacja zwróci wynik 0 z ostrzeżeniem.
1
Wikipedia wpis dla indeksu Jaccard.
Przykłady
>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])
W przypadku binarnym:
>>> jaccard_score(y_true, y_pred)0.6666...
W przypadku wieloetykietowym:
>>> 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()
W przypadku wieloklasowym:
>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()
Przykłady z użyciem sklearn.metrics.jaccard_scoreś
.




