sklearn.metrics.hamming_loss

sklearn.metrics.hamming_loss()

Calcula la pérdida media de Hamming.

La pérdida de Hamming es la fracción de las etiquetas que se predicen incorrectamente.

Más información en el Manual de usuario.

Parámetros
y_truearray-like 1d o arreglo de indicadores de etiqueta / matriz dispersa

Etiquetas de verdad fundamental (correctas).

y_predarray-like 1d o arreglo de indicadores de etiqueta / matriz dispersa

Etiquetas predichas, devueltas por un clasificador.

sample_weightarray-like de forma (n_samples,), default=None

Ponderados de muestras.

Nuevo en la versión 0.18.

Devuelve
lossflotante o int

Devuelve la pérdida media de Hamming entre el elemento de y_true y y_pred.

Notas

En la clasificación multiclase, la pérdida de Hamming corresponde a la distancia de Hamming entre y_true y y_pred que es equivalente a la función subconjunto zero_one_loss, cuando el parámetro normalize se establece en True.

En la clasificación multietiqueta, la pérdida de Hamming es diferente de la pérdida subconjunto de cero a uno. La pérdida de cero a uno considera que todo el conjunto de etiquetas para una muestra dada es incorrecto si no coincide por completo con el verdadero conjunto de etiquetas. La pérdida de Hamming es más tolerante porque sólo penaliza a las etiquetas individuales.

La pérdida de Hamming tiene límite superior por la pérdida subconjunto de cero a uno cuando el parámetro normalize se establece en True. Siempre está entre 0 y 1, siendo mejor mientras mas bajo sea.

Referencias

1

Grigorios Tsoumakas, Ioannis Katakis. Multi-Label Classification: An Overview. International Journal of Data Warehousing & Mining, 3(3), 1-13, July-September 2007.

2

Entrada de Wikipedia en la distancia de Hamming.

Ejemplos

>>> from sklearn.metrics import hamming_loss
>>> y_pred = [1, 2, 3, 4]
>>> y_true = [2, 2, 3, 4]
>>> hamming_loss(y_true, y_pred)
0.25

En el caso multietiqueta con indicadores de etiqueta binaria:

>>> import numpy as np
>>> hamming_loss(np.array([[0, 1], [1, 1]]), np.zeros((2, 2)))
0.75

Ejemplos usando sklearn.metrics.hamming_loss