Contenido
PalancaCurva AUC y ROC, interpretación y multiclase.
Este tutorial presenta la curva AUC y ROC y cómo interpretar los resultados. También se presenta el caso multiclase.
Medidas de desempeño
En Machine Learning, medir el rendimiento es una tarea esencial. Entonces, cuando se trata de un problema de clasificación, podemos confiar en una curva AUC-ROC. Cuando necesitamos verificar o visualizar el rendimiento del problema de clasificación de clases múltiples, utilizamos la curva AUC (área bajo la curva) ROC (características operativas del receptor). Esta es una de las métricas de evaluación más importantes para comprobar el rendimiento de cualquier modelo de clasificación. También está escrito AUROC (Área bajo las características operativas del receptor).
La curva AUC-ROC es una medida de desempeño para problemas de clasificación en diferentes configuraciones de umbral. ROC es una curva de probabilidad y AUC representa el grado o medida de separabilidad. Indica hasta qué punto el modelo es capaz de distinguir clases. Cuanto mayor sea el AUC, más podrá el modelo predecir 0 clases como 0 y 1 clase como 1. Por analogía, cuanto mayor sea el AUC, más podrá el modelo distinguir a los pacientes con la enfermedad de los que no la tienen.
La curva ROC se traza con TPR=TP/(TP+FN) versus FPR=1-Especificidad=FP/(TN+FP) donde TPR está en el eje y y FPR está en el eje x.
Cálculo de la República de China
La sensibilidad y la especificidad (TPR y FPR) son inversamente proporcionales entre sí. Entonces, a medida que aumentamos la sensibilidad, la especificidad disminuye y viceversa.
Cuando entrenamos un modelo de clasificación, obtenemos la probabilidad de obtener un resultado. En este caso, nuestro ejemplo será la probabilidad de pagar un préstamo.
Las probabilidades varían entre 0 y 1. Cuanto mayor sea el valor, más probabilidades tendrá la persona de pagar el préstamo.
El siguiente paso es encontrar un umbral para clasificar las probabilidades como “reembolsará” o “no reembolsará”.
En el ejemplo de la figura, hemos seleccionado un umbral de 0,35 (los modelos de clasificación seleccionarán automáticamente el valor que proporcione la mejor precisión):
- Todas las predicciones que alcancen o superen este umbral se clasifican como "reembolso".
- Todas las predicciones por debajo de este umbral se clasifican como "no reembolsables".
Luego examinamos cuáles de estas predicciones se clasificaron correctamente o se clasificaron erróneamente. Con dicha información podemos construir una matriz de confusión.
En este punto tenemos
- Clasificó correctamente el 90% de todos los positivos, los que han “devuelto” (TPR)
- 40 % de todos los negativos fueron clasificados erróneamente, los que "no reembolsaron" (FPR)
Podemos notar que los resultados para TPR y FPR disminuyen a medida que aumenta el umbral. Si miramos el primero, donde el umbral es 0:
- Todos los positivos se han clasificado correctamente, por lo que TPR = 100 %
- Todos los negativos fueron clasificados erróneamente, por lo que FPR = 100 %
En el último gráfico de ejemplo, donde el umbral es 1:
- Todos los positivos se clasificaron erróneamente, por lo que TPR = 0 %
- Todos los negativos fueron clasificados correctamente, por lo que FPR = 0 %
Para trazar la curva ROC, necesitamos calcular el TPR y el FPR para muchos umbrales diferentes (este paso está incluido en todas las bibliotecas relevantes con el nombre scikit-learn).
Para cada umbral, trazamos el valor de FPR en el eje x y el valor de TPR en el eje y. Luego unimos los puntos con una línea. ¡Eso es!
A continuación, en la figura siguiente, podemos ver cómo cada punto de la curva ROC representa el FPR y TRP de una clasificación en un umbral determinado.
Observe cómo el umbral en 1 conduce al primer punto en (0, 0) y el umbral en 0 conduce al último punto en (1, 1).
El área cubierta debajo de la línea se llama Área bajo la curva (AUC). Esto se utiliza para evaluar el rendimiento de un modelo de clasificación. Cuanto mayor sea el AUC, mejor será el modelo para distinguir clases.
Esto significa que en un mundo ideal nos gustaría que nuestra línea cubra la mayor parte de la esquina superior izquierda del gráfico para lograr un AUC más alto.
Interpretación matemática
Como sabemos, la República de China es una curva de probabilidad. Por tanto, tracemos las distribuciones de estas probabilidades:
Nota: La curva de distribución roja es de clase positiva (pacientes con enfermedad) y la curva de distribución verde es de clase negativa (pacientes sin enfermedad).
En este escenario, una regresión encuentra una clara distinción entre las dos clases. En el caso de un árbol de decisión, ¡una sola división es suficiente para tener éxito en 100%! Aquí el AUC es 1, lo que daría la siguiente curva:
Es una situación ideal. Cuando dos curvas no se superponen en absoluto, significa que el modelo tiene una medida ideal de separabilidad. Es perfectamente capaz de distinguir la clase positiva de la clase negativa.
Cuando dos distribuciones se superponen, introducimos errores de tipo 1 y tipo 2. Dependiendo del umbral, podemos minimizarlos o maximizarlos. Cuando el AUC es 0,7, significa que hay una probabilidad de 70 % de que el modelo pueda distinguir entre una clase positiva y una clase negativa.
Ésta es la peor situación. Cuando el AUC es de alrededor de 0,5, el modelo no tiene capacidad de discriminación para distinguir la clase positiva de la clase negativa. Esto equivale a una predicción aleatoria.
Cuando el AUC es alrededor de 0, el modelo en realidad corresponde las clases. Esto significa que el modelo predice una clase negativa como una clase positiva y viceversa.
AUC - Curva ROC para el problema multiclase
En un modelo de clases múltiples, podemos trazar N números de curvas AUC ROC para N clases numéricas utilizando la metodología Uno versus TODOS. Entonces, por ejemplo, si tiene tres clases llamadas X, Y y Z, tendrá una República de China para X clasificada contra Y y Z, otra República de China para Y clasificada contra X y Z, y la tercera de Z clasificada con respecto a Y y X.