sklearn.metrics.
jaccard_score
(y_true, y_pred, *, labels=None, pos_label=1, average=’binary’, sample_weight=None, zero_division=’warn’)¶
Jaccardin samankaltaisuustulos.
Jaccard-indeksiä eli Jaccardin samankaltaisuuskerrointa, joka on määritelty seuraavasti: leikkauspisteen koko jaettuna kahden merkintäjoukon liiton koolla, käytetään vertaamaan näytteen ennustettujen merkintöjen joukkoa vastaavaan merkintäjoukkoon y_true
:ssa.
Lue lisää käyttöoppaasta.
Parametrit y_true1d array-muotoinen tai label-indikaattoriryhmä / harva matriisi
Ground truth (oikeat) labels.
y_pred1d array-tyyppinen, tai label indicator array / sparse matrix
Predicted labels, as returned by a classifier.
labelsarray-tyyppinen of shape (n_classes,), default=None
Sisällytettävien labeleiden joukko, jos average != 'binary'
, ja niiden järjestys, jos average is None
. Aineistossa olevat merkinnät voidaan sulkea pois, esimerkiksi laskea moniluokkainen keskiarvo, jossa jätetään huomiotta enemmistönä oleva negatiivinen luokka, kun taas merkinnät, joita ei ole aineistossa, johtavat 0 komponenttiin makrokeskiarvossa. Monimerkkisten kohteiden osalta merkinnät ovat sarakeindeksejä. Oletusarvoisesti kaikkia y_true
:n jay_pred
:n merkintöjä käytetään lajitellussa järjestyksessä.
pos_labelstr tai int, default=1
Raportoitava luokka, jos average='binary'
ja data on binäärinen.Jos data on multiclass tai multilabel, tämä jätetään huomiotta;asettamalla labels=
ja average != 'binary'
raportoidaanpisteet vain kyseisen labelin osalta.
average{None, ’micro’, ’macro’, ’samples’, ’weighted’, ’binary’}, default=’binary’
Jos None
, palautetaan kunkin luokan pisteet. Muussa tapauksessa tämämäärittää aineistolle suoritetun keskiarvotuksen tyypin:
'binary'
: 'micro'
:
Laske metriikat globaalisti laskemalla todellisten positiivisten, väärien negatiivisten ja väärien positiivisten tulosten kokonaismäärä.
'macro'
:
Lasketaan metriikat jokaiselle etiketille ja etsitään niiden painottamaton keskiarvo. Tämä ei ota huomioon merkkien epätasapainoa.
'weighted'
:
Lasketaan metriikat kullekin etiketille ja etsitään niiden keskiarvo, joka on painotettu tuella (todellisten tapausten määrä kullekin etiketille). Tämä muuttaa ’makroa’ ottamaan huomioon etikettien epätasapainon.
'samples'
:
Lasketaan metriikat kullekin instanssille ja etsitään niiden keskiarvo (merkityksellinen vain multilabel-luokittelussa).
sample_weightarray-like of shape (n_samples,), default=None
Otoksen painot.
zero_division ”warn”, {0.0, 1.0}, default=”warn”
Määrittää arvon, joka palautetaan, kun nollajako on olemassa, eli kun ennusteissa ja etiketeissä ei ole negatiivisia arvoja. Jos asetetaan arvoksi ”warn”, tämä toimii kuten 0, mutta myös varoitus annetaan.
Palauttaa scorefloat (jos keskiarvo ei ole None) tai array of floats, shape =
Katso myös
accuracy_score
, f_score
, multilabel_confusion_matrix
Huomautuksia
jaccard_score
voi olla huono metriikka, jos joissain näytteissä tai luokissa ei ole nopositiivisia. Jaccard on määrittelemätön, jos ei ole tosia tai ennustettuja leimoja, ja toteutuksemme palauttaa pisteet0 varoituksen kera.
1
Wikipedian merkintä Jaccard-indeksille.
Esimerkkejä
>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])
Binäärisessä tapauksessa:
>>> jaccard_score(y_true, y_pred)0.6666...
Monilabelisessa tapauksessa:
>>> 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()
Moniluokkaisessa tapauksessa:
>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()