sklearn.metrics.
jaccard_score
(y_true, y_pred, *, labels=None, pos_label=1, average=’binary’, sample_weight=None, zero_division=’warn’)¶
Score du coefficient de similarité de Jaccard.
L’indice de Jaccard , ou coefficient de similarité de Jaccard, défini comme la taille de l’intersection divisée par la taille de l’union de deux ensembles d’étiquettes, est utilisé pour comparer l’ensemble des étiquettes prédites pour un échantillon à l’ensemble d’étiquettes correspondant dans y_true
.
Lire la suite dans le guide de l’utilisateur.
Paramètres y_true1d tableau-like, ou tableau indicateur d’étiquettes / matrice clairsemée
Vérité de base (étiquettes correctes).
y_pred1d array-like, ou tableau indicateur d’étiquettes / matrice éparse
Etiquettes prédites, telles que renvoyées par un classificateur.
labelsarray-like de forme (n_classes,), default=None
L’ensemble des étiquettes à inclure lorsque average != 'binary'
, et leur ordre si average is None
. Les étiquettes présentes dans les données peuvent être exclues, par exemple pour calculer une moyenne multiclasse ignorant une classe négative majoritaire, tandis que les étiquettes non présentes dans les données donneront 0 composante dans une moyenne macro. Pour les cibles multi-étiquettes, les étiquettes sont des indices de colonne. Par défaut, tous les labels dans y_true
ety_pred
sont utilisés dans l’ordre trié.
pos_labelstr ou int, default=1
La classe à rapporter si average='binary'
et les données sont binaires.Si les données sont multiclasses ou multiétiquettes, ceci sera ignoré;le réglage de labels=
et average != 'binary'
rapportera les scores pour cette étiquette seulement.
average{None, ‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’}, default=’binary’
Si None
, les scores pour chaque classe sont retournés. Sinon, cela détermine le type de moyennage effectué sur les données :
'binary'
:
Rapport des résultats uniquement pour la classe spécifiée par pos_label
.Ceci est applicable uniquement si les cibles (y_{true,pred}
) sont binaires.
'micro'
:
Calculer les métriques globalement en comptant le total des vrais positifs,des faux négatifs et des faux positifs.
'macro'
:
Calculer les métriques pour chaque étiquette, et trouver leur moyenne non pondérée. Ceci ne prend pas en compte le déséquilibre des étiquettes.
'weighted'
:
Calculer les métriques pour chaque étiquette, et trouver leur moyenne, pondérée par le support (le nombre d’instances vraies pour chaque étiquette). Ceci modifie ‘macro’ pour tenir compte du déséquilibre des étiquettes.
'samples'
:
Calculer les métriques pour chaque instance, et trouver leur moyenne (seulement significatif pour la classification multi-label).
sample_weightarray-like of shape (n_samples,), default=None
Poids des échantillons.
zero_division « warn », {0.0, 1.0}, default= »warn »
Définit la valeur à retourner lorsqu’il y a une division zéro, c’est-à-dire lorsqu’il n’y a pas de valeurs négatives dans les prédictions et les labels. Si défini à « warn », cela agit comme 0, mais un avertissement est également soulevé.
Returns scorefloat (si average n’est pas None) ou tableau de floats, shape =
See also
accuracy_score
, f_score
, multilabel_confusion_matrix
Notes
jaccard_score
peut être une mauvaise métrique s’il n’y a pas de valeurs négatives pour certains échantillons ou classes. Jaccard est indéfini s’il n’y a pas d’étiquettes vraies ou prédites, et notre implémentation renverra un score de 0 avec un avertissement.
1
Entrée Wikipedia pour l’indice de Jaccard.
Exemples
>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])
Dans le cas binaire:
>>> jaccard_score(y_true, y_pred)0.6666...
Dans le cas multi-étiquettes :
>>> 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()
Dans le cas multi-classes:
>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()
Exemples utilisant sklearn.métriques.jaccard_score¶
.