sklearn.metrics.
jaccard_score
(y_true, y_pred, *, labels=None, pos_label=1, average=’binary’, sample_weight=None, zero_division=’warn’)¶
Scoringul coeficientului de similaritate Jaccard.
Indexul Jaccard , sau coeficientul de similitudine Jaccard, definit ca fiind mărimea intersecției împărțită la mărimea uniunii a două seturi de etichete, este utilizat pentru a compara setul de etichete prezise pentru un eșantion cu setul corespunzător de etichete din y_true
.
Citește mai multe în Ghidul utilizatorului.
Parametri y_true1d array-like, sau array indicator de etichete / matrice rarefiată
Etichete de adevăr de bază (corecte).
y_pred1d array-like, or label indicator array / sparse matrix
Etichete preconizate, așa cum sunt returnate de un clasificator.
labelsarray-like of shape (n_classes,), default=None
Set de etichete care trebuie incluse când average != 'binary'
, și ordinea lor dacă average is None
. Etichetele prezente în date pot fiexcluse, de exemplu pentru a calcula o medie multiclasă ignorând o clasă negativă majoritară, în timp ce etichetele care nu sunt prezente în date vorrezulta în 0 componente într-o medie macro. Pentru obiectivele cu mai multe etichete, etichetele sunt indici de coloană. În mod implicit, toate etichetele din y_true
șiy_pred
sunt utilizate în ordine sortată.
pos_labelstr sau int, implicit=1
Clasa care trebuie raportată dacă average='binary'
și datele sunt binare.În cazul în care datele sunt multiclasă sau multi-etichetă, acest lucru va fi ignorat;setarea labels=
și average != 'binary'
va raporta scorurile numai pentru eticheta respectivă.
average{None, ‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’}, default=’binary’
Dacă None
, sunt returnate scorurile pentru fiecare clasă. În caz contrar, aceasta determină tipul de calcul al mediei efectuate asupra datelor:
'binary'
:
Raportează numai rezultatele pentru clasa specificată de pos_label
.Aceasta se aplică numai dacă țintele (y_{true,pred}
) sunt binare.
'micro'
:
Calculează metricile la nivel global prin numărarea totalului de adevărate pozitive,false negative și false pozitive.
'macro'
:
Calculează metricele pentru fiecare etichetă și găsește media lor neponderată. Acest lucru nu ia în considerare dezechilibrul etichetelor.
'weighted'
:
Calculează metricele pentru fiecare etichetă și găsește media lor, ponderată în funcție de suport (numărul de instanțe adevărate pentru fiecare etichetă). Acest lucru modifică „macro” pentru a ține cont de dezechilibrul etichetelor.
'samples'
:
Calculează metricele pentru fiecare instanță și găsește media lor (semnificativ numai pentru clasificarea cu mai multe etichete).
sample_weightarray-like of shape (n_samples,), default=None
Ponderi de eșantionare.
zero_division „warn”, {0.0, 1.0}, default=”warn”
Setează valoarea de returnat atunci când există o diviziune zero, adică atunci când nu există valori negative în predicții și etichete. Dacă este setată la „warn”, aceasta se comportă ca 0, dar se generează și un avertisment.
Restituie scorefloat (dacă media nu este None) sau array de float, shape =
Vezi și
accuracy_score
, f_score
, multilabel_confusion_matrix
Notează
jaccard_score
poate fi o metrică slabă dacă nu există valori pozitive pentru unele eșantioane sau clase. Jaccard este nedefinit dacă nu există nici etichete adevărate sau prezise, iar implementarea noastră va returna un scor de 0 cu un avertisment.
1
Entrare Wikipedia pentru indicele Jaccard.
Exemple
>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])
În cazul binar:
>>> jaccard_score(y_true, y_pred)0.6666...
În cazul cu mai multe etichete:
>>> 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()
În cazul multiclasse:
>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()
Exemple care utilizează sklearn.metrics.jaccard_score¶
.