Área Bajo la Curva (AUC)
Aprenda la importancia del Área Bajo la Curva (AUC) en la evaluación de modelos de ML. Descubra sus beneficios, la información de la curva ROC y las aplicaciones en el mundo real.
El área bajo la curva (AUC) es una métrica fundamental utilizada para cuantificar el rendimiento de los modelos de clasificación,
sobre todo en el ámbito del
aprendizaje automático (AM). Mide la capacidad
de un modelo para distinguir entre clases, como separar las instancias positivas de las negativas. A diferencia de las métricas
A diferencia de las métricas que se basan en un único umbral de decisión, el AUC proporciona una visión global del rendimiento en todos los umbrales posibles.
posibles. Esto lo convierte en una herramienta esencial para evaluar
algoritmos de aprendizaje supervisado, garantizando
que las capacidades predictivas del modelo son sólidas y no están sesgadas por un punto de corte específico. Por lo general, un valor de AUC
indica un mejor rendimiento del modelo, con una puntuación de 1,0 que representa una clasificación perfecta.
Relación entre AUC y ROC
El término AUC se refiere específicamente al área bajo la
curva Receiver Operating Characteristic (ROC). La curva ROC es un gráfico que ilustra la capacidad de diagnóstico de un sistema clasificador binario. Representa
la Tasa de Verdaderos Positivos (TPR), también conocida como Recall, contra
la tasa de falsos positivos (FPR) con distintos umbrales.
-
Tasa de verdaderos positivos: La proporción de casos positivos reales efectivamente identificados por el modelo.
-
Tasa de falsos positivos: Proporción de casos negativos reales que se identifican incorrectamente como
positivos.
Al calcular el AUC, los científicos de datos condensan la información contenida en la curva ROC en un único número. Este
simplifica la evaluación de modelos, permitiendo
comparación más sencilla entre diferentes arquitecturas, como la comparación de una
ResNet-50
frente a una alternativa más ligera.
Interpretar la puntuación
La puntuación AUC oscila entre 0 y 1, proporcionando una interpretación probabilística de la calidad de clasificación del modelo.
-
AUC = 1,0: Un clasificador perfecto. Puede distinguir correctamente entre clases positivas y negativas el 100
de las veces.
-
0.5 < AUC < 1.0: The model has a better-than-random chance of classifying instances
correctly. This is the target range for most
predictive modeling tasks.
-
AUC = 0,5: El modelo no tiene capacidad discriminativa, lo que equivale a adivinar al azar (como lanzar una
una moneda).
-
AUC < 0.5: This suggests the model is performing worse than random chance, often indicating that
the predictions are inverted or there is a significant issue with the
training data.
Para una inmersión más profunda en la mecánica de clasificación, recursos como el
Curso acelerado de aprendizaje automático deGoogle
ofrecen excelentes explicaciones visuales.
Aplicaciones en el mundo real
El AUC es especialmente valioso en escenarios en los que las consecuencias de los falsos positivos y los falsos negativos varían
significativamente.
-
Diagnóstico médico: En
AI en la atención sanitaria, los modelos se entrenan
detect anomalías como tumores en radiografías o resonancias magnéticas. Una puntuación AUC alta garantiza que el modelo clasifica de forma fiable
los casos malignos por encima de los benignos. Esta fiabilidad es fundamental para los sistemas de ayuda a la toma de decisiones clínicas que utilizan los radiólogos.
radiólogos. Por ejemplo, ver cómo
YOLO11 ayuda a detectar tumores
pone de relieve la importancia de unas métricas de evaluación robustas en aplicaciones vitales.
-
Detección del fraude financiero: Las entidades financieras utilizan
visión por ordenador (CV) y el reconocimiento de patrones
para detectar transacciones fraudulentas. Dado que el número de transacciones legítimas es muy superior al de fraudulentas, los datos están muy desequilibrados.
desequilibrados. En este caso se prefiere el AUC porque evalúa la clasificación de las probabilidades de fraude sin estar sesgada por
el gran número de negativos legítimos, a diferencia de la
en bruto. Esto ayuda a crear sistemas que minimizan
fricción con el cliente al tiempo que se mantiene la seguridad, un componente básico de la IA en las finanzas.
la IA en las finanzas.
AUC frente a otras métricas
Entender cuándo utilizar el AUC frente a otras métricas es clave para el éxito del despliegue del modelo.
implantación de modelos.
-
AUC vs. Precisión: La precisión mide el
porcentaje de predicciones correctas. Sin embargo, en conjuntos de datos desequilibrados (p. ej., 99% de clase negativa), un modelo puede alcanzar el
99% de precisión prediciendo "negativo" para todo, a pesar de tener un poder predictivo nulo. El AUC es
invariable al desequilibrio de clases, lo que lo convierte en una métrica más honesta para estos problemas.
-
AUC frente a Precisión-Recuperación: Mientras que ROC AUC considera tanto TPR como FPR,
Precisión y
Recall se centran específicamente en la clase positiva. En los casos
en los que los falsos positivos son aceptables, pero los falsos negativos no (por ejemplo, el cribado inicial de enfermedades), el análisis de la
Precisión-Recuperación
puede ser más informativo que el ROC AUC.
-
AUC frente a mAP: En
tareas de detección de objetos realizadas por modelos como
YOLO11la métrica estándar es
Precisión media (mAP). mAP
calcula esencialmente el área bajo la curva Precisión-Recuperación para cuadros delimitadores en umbrales específicos de Intersección sobre
UniónIoU), mientras que AUC se utiliza normalmente para la confianza de clasificación de los objetos.
Cálculo de probabilidades de clase
Para calcular el AUC, se necesitan las puntuaciones de probabilidad de la clase positiva en lugar de sólo las etiquetas de clase finales. En
siguiente ejemplo muestra cómo obtener estas probabilidades utilizando un
clasificación de imágenes modelo del
ultralytics biblioteca.
from ultralytics import YOLO
# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Access the probability scores for all classes
# These scores are the inputs needed to calculate AUC against ground truth
probs = results[0].probs.data
print(f"Class Probabilities: {probs}")
Una vez que disponga de las probabilidades de un conjunto de datos, puede utilizar bibliotecas estándar como
Scikit-learn para
calcular la puntuación AUC final.