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’)¶

Puntuación del coeficiente de similitud de Jaccard.

El índice de Jaccard, o coeficiente de similitud de Jaccard, definido como el tamaño de la intersección dividido por el tamaño de la unión de dos conjuntos de etiquetas, se utiliza para comparar el conjunto de etiquetas predichas para una muestra con el conjunto de etiquetas correspondiente en y_true.

Más información en la Guía del usuario.

Parámetros y_true1d array-like, o matriz indicadora de etiquetas / matriz dispersa

Etiquetas verdaderas (correctas).

y_pred1d array-like, o matriz indicadora de etiquetas / matriz dispersa

Etiquetas previstas, como las devueltas por un clasificador.

labelsarray-like of shape (n_classes,), default=None

El conjunto de etiquetas a incluir cuando average != 'binary', y su orden si average is None. Las etiquetas presentes en los datos pueden ser excluidas, por ejemplo para calcular un promedio multiclase ignorando una clase mayoritariamente negativa, mientras que las etiquetas no presentes en los datos resultarán en 0 componentes en un macro promedio. Para los objetivos multietiqueta, las etiquetas son índices de columna. Por defecto, todas las etiquetas en y_true yy_pred se utilizan en orden ordenado.

pos_labelstr o int, por defecto=1

La clase a informar si average='binary' y los datos son binarios.Si los datos son multiclase o multietiqueta, esto se ignorará; si se establece labels= y average != 'binary' se informará de las puntuaciones sólo para esa etiqueta.

average{None, ‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’}, default=’binary’

Si None, se devuelven las puntuaciones de cada clase. De lo contrario, esto determina el tipo de promedio realizado en los datos:

'binary':

Sólo informa de los resultados de la clase especificada por pos_label.Esto es aplicable sólo si los objetivos (y_{true,pred}) son binarios.

'micro':

Calcular las métricas globalmente contando el total de verdaderos positivos,falsos negativos y falsos positivos.

'macro':

Calcular las métricas para cada etiqueta, y encontrar su media no ponderada. Esto no tiene en cuenta el desequilibrio de las etiquetas.

'weighted':

Calcular las métricas para cada etiqueta, y encontrar su promedio, ponderado por el apoyo (el número de instancias verdaderas para cada etiqueta). Esto altera la ‘macro’ para tener en cuenta el desequilibrio de las etiquetas.

'samples':

Calcular las métricas para cada instancia, y encontrar su promedio (sólo es significativo para la clasificación multietiqueta).

sample_weightarray-like of shape (n_samples,), default=None

Pesos de la muestra.

zero_division «warn», {0.0, 1.0}, default=»warn»

Establece el valor a devolver cuando hay una división cero, es decir, cuando no hay valores negativos en las predicciones y etiquetas. Si se establece en «warn», esto actúa como 0, pero también se levanta una advertencia.

Devuelve scorefloat (si la media no es None) o array de floats, shape =

Ver también

accuracy_score, f_score, multilabel_confusion_matrix

Notas

jaccard_scorepuede ser una métrica pobre si no hay positivos para algunas muestras o clases. Jaccard no está definido si no hay etiquetas verdaderas o predichas, y nuestra implementación devolverá una puntuación de 0 con una advertencia.

1

Entrada de Wikipedia para el índice de Jaccard.

Ejemplos

>>> import numpy as np>>> from sklearn.metrics import jaccard_score>>> y_true = np.array(,... ])>>> y_pred = np.array(,... ])

En el caso binario:

>>> jaccard_score(y_true, y_pred)0.6666...

En el caso multietiqueta:

>>> 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()

En el caso multiclase:

>>> y_pred = >>> y_true = >>> jaccard_score(y_true, y_pred, average=None)array()

Ejemplos con sklearn.metrics.jaccard_score¶

Deja una respuesta

Tu dirección de correo electrónico no será publicada.