ML | Métricas de clasificación de etiquetas múltiples: error de cobertura

El error de cobertura nos dice cuántas etiquetas de predicción final con la puntuación más alta debemos incluir sin perder ninguna etiqueta de verdad básica. Esto es útil si queremos saber el número promedio de predicciones mejor puntuadas necesarias para predecir con el fin de no perder ninguna etiqueta de verdad básica.
Dada una array indicadora binaria de etiquetas de verdad fundamental y\epsilon \left \{ 0, 1 \right \}^{n_{samples} * n_{labels}}. La puntuación asociada con cada etiqueta se denota por \hat{f}dónde,


 \hat{f}\epsilon \left \{ \mathbb{R} \right \}^{n_{samples} * n_{labels}}

El error de cobertura se define como:

 coverage\left ( y, \hat{f} \right ) = \dfrac{1}{n_{samples}} * \sum_{i=0}^{n_{samples}-1}max_{j: y_{ij}=1} rank_{ij}

donde el rango se define como

 rank_{ij} = \left | \left \{  k \colon \hat{f_{ik}}\geq\hat{f_{ij}} \right \}\right |

Código: para verificar el error de cobertura para cualquier puntaje de predicción con etiquetas verdaderas usando scikit-learn.

# Import dataset
import numpy as np
from sklearn.metrics import coverage_error
  
# Create Imaginary prediction and truth dataset
y_true = np.array([[1, 0, 1], [0, 0, 1], [0, 1, 1]])
y_pred_score = np.array([[0.75, 0.5, 1], [1, 1, 1.2], [2.3, 1.2, 0.1]])
print(coverage_error(y_true, y_pred_score))

Producción:

coverage error of 2.0

Calculemos manualmente el error de cobertura del ejemplo anterior.
Nuestra primera muestra tiene un valor real de [1, 0, 1] . Para cubrir ambas etiquetas verdaderas, debemos buscar nuestras predicciones (aquí [0.75, 0.5, 1]) en orden descendente. Por lo tanto, necesitamos las 2 etiquetas predichas principales en esta muestra. De manera similar, para las muestras segunda y tercera, necesitamos las muestras predichas top-1 y top-2. Promediar estos resultados sobre un número de muestras nos da una salida de 2.0 .


  Coverage Error  =\dfrac{\left ( 2+1+3 \right )}{3} = 2.0

El mejor valor de cobertura es cuando es igual al número promedio de etiquetas de clase verdaderas.

Publicación traducida automáticamente

Artículo escrito por pawangfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *