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 hasonlósági együttható pontszám.
A Jaccard-index vagy Jaccard hasonlósági együttható, amelyet úgy határozunk meg, hogy a metszéspont méretét elosztjuk két címkekészlet uniójának méretével, arra szolgál, hogy összehasonlítsuk egy minta megjósolt címkekészletét a y_true
-ben szereplő megfelelő címkekészlettel.
Bővebben a felhasználói kézikönyvben.
Paraméterek y_true1d tömbszerű, vagy címkeindikátor tömb / ritka mátrix
Ground truth (helyes) címkék.
y_pred1d tömbszerű, vagy címkeindikátor tömb / ritka mátrix
Az osztályozó által visszaadott előre jelzett címkék.
labelsarray-like of shape (n_classes,), default=None
A címkék halmaza, ha average != 'binary'
, és azok rendje, ha average is None
. Az adatokban jelenlévő címkék kizárhatók, például egy többosztályos átlag kiszámításához, amely figyelmen kívül hagyja a többségi negatív osztályt, míg az adatokban nem jelenlévő címkék 0 komponenst eredményeznek a makroátlagban. Többcímkés célértékek esetén a címkék oszlopindexek. Alapértelmezés szerint a y_true
ésy_pred
összes címke rendezett sorrendben kerül felhasználásra.
pos_labelstr vagy int, default=1
A jelentendő osztály, ha average='binary'
és az adatok binárisak.Ha az adatok többosztályosak vagy többcímkések, ezt figyelmen kívül hagyjuk;labels=
és average != 'binary'
beállítása csak az adott címke pontszámait jelenti.
average{None, ‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’}, default=’binary’
Ha None
, akkor az egyes osztályok pontszámait adjuk vissza. Egyébként ezmeghatározza az adatokon végzett átlagolás típusát:
'binary'
: 'micro'
:
Globálisan számolja ki a metrikákat az összes igaz pozitív, hamis negatív és hamis pozitív eredmény számlálásával.
'macro'
:
Számítsuk ki a metrikákat minden egyes címkére, és találjuk meg a súlyozatlan átlagukat. Ez nem veszi figyelembe a címkék kiegyensúlyozatlanságát.
'weighted'
:
Számítsuk ki a metrikákat minden címkére, és találjuk meg az átlagukat, a támogatással súlyozva (a valódi példányok száma minden címkéhez). Ez módosítja a “makrót”, hogy figyelembe vegye a címkék kiegyensúlyozatlanságát.
'samples'
:
Kiszámítja a metrikákat minden egyes példányra, és megtalálja az átlagukat (csak multilabel osztályozásnál van jelentősége).
sample_weightarray-like of shape (n_samples,), default=None
Minta súlyok.
zero_division “warn”, {0.0, 1.0}, default=”warn”
Beállítja az értéket, amelyet akkor ad vissza, ha nulla osztás van, azaz ha nincsenek negatív értékek az előrejelzésekben és a címkékben. Ha “warn”-ra van állítva, akkor ez úgy viselkedik, mint a 0, de figyelmeztetést is kap.
Visszaadja scorefloat (ha az átlag nem None) vagy float tömb, shape =
See also
accuracy_score
, f_score
, multilabel_confusion_matrix
Notes
jaccard_score
lehet rossz metrika, ha néhány minta vagy osztály esetében nopozitív értékek vannak. A Jaccard nem definiált, ha nincsenek igaz vagy megjósolt címkék, és a mi implementációnk 0 pontszámot ad vissza egy figyelmeztetéssel.
1
Wikipedia bejegyzés a Jaccard indexről.
Példák
>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])
Bináris esetben:
>>> jaccard_score(y_true, y_pred)0.6666...
Multicímkés esetben:
>>> 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()
A többosztályos esetben:
>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()