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).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=3&hl=es-419)
Á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.
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).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=3&hl=es-419)
(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)](https://developers.google.cn/static/machine-learning/crash-course/images/prauc.png?authuser=3&hl=es-419)
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.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-65.png?authuser=3&hl=es-419)
![Figura 3.b. Gráfico de ROC/AUC de un modelo con AUC=0.93.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-93.png?authuser=3&hl=es-419)
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.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=3&hl=es-419)
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
![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.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-77.png?authuser=3&hl=es-419)
![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.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=3&hl=es-419)
![Curva ROC que zigzaguea hacia arriba y hacia la derecha de (0,0) a (1,1).
La curva tiene un AUC de 0.623.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-623.png?authuser=3&hl=es-419)
![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.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-31.png?authuser=3&hl=es-419)
![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.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-32.png?authuser=3&hl=es-419)
![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](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=3&hl=es-419)
![Curva ROC que es una línea diagonal recta desde
(0,0) a (1,1). La curva tiene un AUC de 0.5.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=3&hl=es-419)
![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.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=3&hl=es-419)
Pregunta adicional (opcional, avanzada)
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).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=3&hl=es-419)