Clasificación: ROC y AUC

En la sección anterior, se presentó un conjunto de métricas del modelo, todas calculadas a un nivel único valor de umbral de clasificación. Pero si quieres evaluar un la calidad del modelo en todos los umbrales posibles, necesitas herramientas diferentes.

Curva de característica operativa del receptor (ROC)

La curva ROC es una representación visual del rendimiento del modelo en todos los umbrales. La versión larga del nombre, característica operativa del receptor, es una retención. de la detección de radares de la Segunda Guerra Mundial.

La curva ROC se dibuja calculando la tasa de verdaderos positivos (TPR) y una tasa de falsos positivos (FPR) en cada umbral posible (en la práctica, al intervalos seleccionados), luego se grafica la TPR sobre la FPR. Un modelo perfecto que en algún umbral tiene una TPR de 1.0 y una FPR de 0.0, puede estar representado por un punto en (0, 1) si se ignoran todos los demás umbrales, o bien de la siguiente manera:

Figura 1: Un gráfico de TPR (eje Y) frente a FPR (eje X) que muestra el
            rendimiento de un modelo perfecto: una línea de (0,1) a (1,1).
Figura 1: ROC y AUC de un modelo hipotético perfecto.

Área bajo la curva (AUC)

El área bajo la curva ROC (AUC) representa la probabilidad de que el modelo, si se da un ejemplo positivo y negativo elegido al azar, clasificará el positivo mayor que el negativo.

El modelo perfecto anterior, que contiene un cuadrado con lados de longitud 1, tiene un área bajo la curva (AUC) de 1.0. Esto significa que hay un 100% de probabilidades de que el modelo clasificará de manera correcta un ejemplo positivo elegido al azar más alto que un ejemplo negativo elegido al azar. En otras palabras, analizar la expansión de puntos de datos inferiores, el AUC indica la probabilidad de que el modelo coloque un cuadrado elegido al azar a la derecha de un círculo elegido al azar, independientemente de en la que se establece el umbral.

Línea de datos del widget sin control deslizante

En términos más concretos, un clasificador de spam con AUC de 1.0 siempre asigna a un correo electrónico spam aleatorio una mayor probabilidad de ser spam que un correo electrónico legítimo al azar. La clasificación real de cada correo electrónico depende del umbral que elijas.

Para un clasificador binario, un modelo que realiza exactamente igual de bien como suposiciones o predicciones aleatorias lanzamiento de monedas tiene una ROC, que es una línea diagonal de (0,0) a (1,1). El AUC es 0.5, que representa un 50% de probabilidad de clasificar correctamente un positivo aleatorio y ejemplo negativo.

En el ejemplo del clasificador de spam, un clasificador de spam con un AUC de 0.5 asigna un correo electrónico de spam aleatorio tiene más probabilidades de ser spam que uno aleatorio correo electrónico legítimo solo la mitad de las veces.

Figura 2: Un gráfico de TPR (eje Y) frente a FPR (eje X) que muestra el
            rendimiento de un adivinador aleatorio 50-50: una línea diagonal de (0,0)
            a (1,1).
Figura 2: ROC y AUC de suposiciones completamente aleatorias.

(Opcional, avanzado) Curva de precisión-recuperación

El AUC y la ROC funcionan bien para comparar modelos cuando el conjunto de datos es más o menos equilibrados entre clases. Cuando el conjunto de datos está desequilibrado, precisión-recuperación de las curvas de visión general (PRC) y el área debajo de ellas pueden ofrecer una mejor comparación visualización del rendimiento del modelo. Las curvas de precisión-recuperación se crean la precisión en el eje Y y la recuperación en el eje X en todos umbrales.

Ejemplo de curva de precisión-recuperación con una curva convexa descendente de (0,1)
            a (1,0)

AUC y ROC para elegir el modelo y el umbral

El AUC es una medida útil para comparar el rendimiento de dos modelos diferentes siempre y cuando el conjunto de datos esté equilibrado. (Consulta Curva de precisión-recuperación, arriba, para conjuntos de datos desequilibrados). El modelo con mayor área por la curva suele ser la mejor.

Figura 3.a. Gráfico de ROC/AUC de un modelo con AUC=0.65. Figura 3.b. Gráfico de ROC/AUC de un modelo con AUC=0.93.
Figura 3: ROC y AUC de dos modelos hipotéticos. La curva en la a la derecha, con un AUC mayor, representa el mejor de los dos modelos.

Los puntos de una curva ROC más cercanos a (0,1) representan un rango de umbrales de mejor rendimiento para el modelo determinado. Como se explicó en el Umbrales, Matriz de confusión y Elección de métricas y compensaciones el umbral que elijas dependerá de la métrica que sea más importante el caso de uso específico. Considera los puntos A, B y C en el siguiente diagrama, cada uno de los cuales representa un umbral:

Figura 4: Una curva ROC de AUC=0.84 que muestra tres puntos en el
            convexa de la curva más cercana a (0,1) etiquetada como A, B, C en orden.
Figura 4: Tres puntos etiquetados que representan umbrales.

Si los falsos positivos (falsas alarmas) son muy costosos, tiene sentido elige un umbral que dé una FPR más baja, como el que se encuentra en el punto A, incluso si TPR se reduce. En cambio, si los falsos positivos son económicos y los falsos negativos (verdaderos positivos omitidos) es muy costoso, el umbral para el punto C, que maximiza la TPR, puede ser preferible. Si los costos son aproximadamente equivalentes, punto B puede ofrecer el mejor equilibrio entre TPR y FPR.

A continuación, se muestra la curva ROC para los datos que vimos antes:

Ejercicio: Comprueba tus conocimientos

En la práctica, las curvas ROC son mucho menos regulares que las ilustraciones proporcionadas anteriormente. ¿Cuál de los siguientes modelos, representados por su curva ROC, y AUC, tiene el mejor rendimiento?
Curva ROC que se extiende hacia arriba y, luego, hacia la derecha de (0,0) a
           (1,1). La curva tiene un AUC de 0.77.
Este modelo tiene el AUC más alto, que corresponde a la mejor rendimiento.
Curva ROC que es aproximadamente una línea recta de (0,0) a
           (1,1), con algunos zigzag. La curva tiene un AUC de 0.508.
Curva ROC que zigzaguea hacia arriba y hacia la derecha de (0,0) a (1,1).
           La curva tiene un AUC de 0.623.
Curva ROC que forma un arco hacia la derecha y, luego, hacia arriba desde
                (0,0) a (1,1). La curva tiene un AUC de 0.31.
¿Cuál de los siguientes modelos tiene peor rendimiento que el azar?
Curva ROC que forma un arco hacia la derecha y, luego, hacia arriba desde
                (0,0) a (1,1). La curva tiene un AUC de 0.32.
Este modelo tiene un AUC inferior a 0.5, lo que significa que su rendimiento es peor que el azar.
curva de ROC que es aproximadamente una línea recta de
                     (0,0) a (1,1), con algunos zigzag. La curva tiene un
                     AUC de 0.508
Este modelo tiene un rendimiento un poco mejor que el azar.
Curva ROC que es una línea diagonal recta desde
                (0,0) a (1,1). La curva tiene un AUC de 0.5.
Este modelo tiene el mismo rendimiento que la probabilidad.
Una curva ROC compuesta por dos líneas perpendiculares: una vertical
      una línea de (0,0) a (0,1) y una horizontal de (0,1) a (1,1).
      Esta curva tiene un AUC de 1.0.
Este es un clasificador perfecto hipotético.

Pregunta adicional (opcional, avanzada)

¿Cuál de los siguientes cambios se puede hacer peor que la situación? en la pregunta anterior para que tenga un mejor rendimiento que el azar?
Invierte las predicciones, de modo que las predicciones de 1 se conviertan en 0, y las predicciones de 0 se convierten en 1.
Si un clasificador binario coloca ejemplos de forma confiable en el a clases incorrectas más a menudo que al azar, lo que cambia la etiqueta de la clase de inmediato hace que sus predicciones sean mejores que el azar sin tener que volver a entrenar el modelo.
Haz que siempre prediga la clase negativa.
Esto puede o no mejorar el rendimiento por encima de la posibilidad. Además, como que analizamos en la sección Exactitud este no es un modelo útil.
Haz que siempre prediga la clase positiva.
Esto puede o no mejorar el rendimiento por encima de la posibilidad. Además, como que analizamos en la sección Exactitud este no es un modelo útil.

Imagina una situación en la que es mejor dejar que algo de spam llegue al a la carpeta Recibidos que a enviar un correo electrónico esencial para la empresa a la carpeta de spam. que entrené un clasificador de spam para esta situación en la que la clase positiva es spam y la clase negativa no lo es. ¿Cuál de los siguientes puntos en la curva ROC para tu clasificador es preferible?

Una curva ROC de AUC=0.84 que muestra tres puntos en la parte convexa de
       de la curva que se acercan a (0,1). El punto A se encuentra aproximadamente
       (0.25, 0.75). El punto B se encuentra aproximadamente (0.30, 0.90), y está
       el punto que maximiza la TPR y, al mismo tiempo, minimiza la FPR. Punto
       C está aproximadamente a (0.4, 0.95).
Punto A
En este caso de uso, es mejor minimizar los falsos positivos, incluso si los verdaderos positivos también disminuyen.
Punto B
Este umbral equilibra los verdaderos y falsos positivos.
Punto C
Este umbral maximiza los verdaderos positivos (marca más spam). a costa de más falsos positivos (más correos electrónicos legítimos marcados como spam).