Clasificación: ROC y AUC

En la sección anterior, se presentó un conjunto de métricas del modelo, todas calculadas en un valor de umbral de clasificación único. Sin embargo, si deseas evaluar la calidad de un 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 un remanente de la detección de radar de la Segunda Guerra Mundial.

Para dibujar la curva ROC, se calcula la tasa de verdaderos positivos (TPR) y la tasa de falsos positivos (FPR) en cada umbral posible (en la práctica, en intervalos seleccionados) y, 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, se puede representar con un punto en (0, 1) si se ignoran todos los demás umbrales o con lo siguiente:

Figura 1: Un gráfico de TPR (eje Y) en relación con 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 le da un ejemplo positivo y negativo elegido al azar, clasifique el positivo más alto 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 una probabilidad del 100% de que el modelo clasifique correctamente un ejemplo positivo elegido al azar por encima de un ejemplo negativo elegido al azar. En otras palabras, si observas la dispersión de los puntos de datos a continuación, la AUC proporciona la probabilidad de que el modelo coloque un cuadrado elegido al azar a la derecha de un círculo elegido al azar, independientemente de dónde se establezca el umbral.

Línea de datos del widget sin control deslizante

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

Para un clasificador binario, un modelo que funciona exactamente igual que las conjeturas aleatorias o las volteretas de moneda tiene un ROC que es una línea diagonal de (0,0) a (1,1). El AUC es de 0.5, lo que representa una probabilidad del 50% de clasificar correctamente un ejemplo positivo y negativo aleatorio.

En el ejemplo del clasificador de spam, un clasificador de spam con una AUC de 0.5 asigna a un correo electrónico de spam aleatorio una probabilidad más alta de ser spam que un correo electrónico legítimo aleatorio solo la mitad del tiempo.

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

Curva de precisión-recuperación (opcional y avanzada)

La AUC y la ROC funcionan bien para comparar modelos cuando el conjunto de datos está aproximadamente equilibrado entre las clases. Cuando el conjunto de datos está desequilibrado, las curvas de precisión-recuperación (PRC) y el área debajo de esas curvas pueden ofrecer una mejor visualización comparativa del rendimiento del modelo. Para crear curvas de precisión-recuperación, se traza la precisión en el eje Y y la recuperación en el eje X en todos los umbrales.

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

AUC y ROC para elegir el modelo y el umbral

La AUC es una medida útil para comparar el rendimiento de dos modelos diferentes, siempre que el conjunto de datos esté aproximadamente equilibrado. Por lo general, el modelo con mayor área debajo de la curva es el mejor.

Figura 3.a. Gráfico ROC/AUC de un modelo con AUC=0.65. Figura 3.b. Gráfico ROC/AUC de un modelo con AUC=0.93.
Figura 3. ROC y AUC de dos modelos hipotéticos. La curva de la derecha, con una 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 los umbrales con mejor rendimiento para el modelo determinado. Como se explica en las secciones Umbrales, Matriz de confusión y Elección de la métrica y compensaciones, el umbral que elijas dependerá de la métrica más importante para 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 la parte convexa de la curva más cercana a (0,1) etiquetados como A, B y C en orden.
Figura 4: Tres puntos etiquetados que representan umbrales.

Si los falsos positivos (alarmas falsas) son muy costosos, puede ser conveniente elegir un umbral que proporcione una FPR más baja, como la del punto A, incluso si se reduce la TPR. Por el contrario, si los falsos positivos son económicos y los falsos negativos (verdaderos positivos omitidos) son muy costosos, es posible que sea preferible el umbral del punto C, que maximiza la TPR. Si los costos son aproximadamente equivalentes, el punto B puede ofrecer el mejor equilibrio entre la TPR y la FPR.

Esta es la curva ROC de los datos que vimos antes:

Ejercicio: Comprueba tu comprensión

En la práctica, las curvas ROC son mucho menos regulares que las ilustraciones anteriores. ¿Cuál de los siguientes modelos, representados por su curva ROC y AUC, tiene el mejor rendimiento?
Curva ROC que forma un arco hacia arriba y, luego, hacia la derecha de (0,0) a (1,1). La curva tiene un AUC de 0.77.
Este modelo tiene la AUC más alta, que corresponde al mejor rendimiento.
Curva ROC que es aproximadamente una línea recta de (0,0) a (1,1), con algunos zigzags. La curva tiene un AUC de 0.508.
Una curva ROC que hace zigzag hacia arriba y a 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 de (0,0) a (1,1). La curva tiene un AUC de 0.31.
¿Cuál de los siguientes modelos tiene un rendimiento inferior al azar?
Curva ROC que forma un arco hacia la derecha y, luego, hacia arriba de (0,0) a (1,1). La curva tiene un AUC de 0.32.
Este modelo tiene una AUC inferior a 0.5, lo que significa que tiene un rendimiento inferior al azar.
Curva ROC que es aproximadamente una línea recta de (0,0) a (1,1), con algunos zigzags. La curva tiene un AUC de 0.508.
Este modelo tiene un rendimiento ligeramente mejor que el azar.
Curva ROC que es una línea recta diagonal de (0,0) a (1,1). La curva tiene un AUC de 0.5.
Este modelo tiene el mismo rendimiento que la casualidad.
Curva ROC que se compone de dos líneas perpendiculares: una línea vertical de (0,0) a (0,1) y una línea horizontal de (0,1) a (1,1).
      Esta curva tiene un AUC de 1.0.
Este es un clasificador hipotético perfecto.

Pregunta adicional (opcional y avanzada)

¿Cuál de los siguientes cambios se puede realizar en el modelo peor que el azar de 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 conviertan en 1.
Si un clasificador binario coloca ejemplos de forma confiable en las clases incorrectas con mayor frecuencia que la probabilidad, cambiar la etiqueta de clase mejora inmediatamente sus predicciones sin tener que volver a entrenar el modelo.
Haz que siempre prediga la clase negativa.
Esto puede mejorar el rendimiento o no. Además, como se explica en la sección Exactitud, este no es un modelo útil.
Haz que siempre prediga la clase positiva.
Esto puede mejorar el rendimiento o no. Además, como se explica en la sección Exactitud, este no es un modelo útil.

Imagina una situación en la que sea mejor permitir que llegue cierto spam a la carpeta Recibidos que enviar un correo electrónico fundamental para la empresa a la carpeta Spam. Entrenaste un clasificador de spam para esta situación en la que la clase positiva es spam y la clase negativa es no spam. ¿Cuál de los siguientes puntos de la curva ROC para tu clasificador es preferible?

Una curva ROC de AUC=0.84 que muestra tres puntos en la parte convexa de la curva que están cerca de (0,1). El punto A está aproximadamente en (0.25, 0.75). El punto B está aproximadamente en (0.30, 0.90) y es
       el punto que maximiza la TPR y minimiza la FPR. El punto C está aproximadamente en (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 positivos y los 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).