Area Under the Curve (AUC)
AUC convierte una curva ROC en una puntuación de 0 a 1: la probabilidad de que un clasificador sitúe un positivo aleatorio por encima de un negativo aleatorio. ROC AUC frente a PR AUC, con código.
El área bajo la curva (AUC) es una métrica que resume la capacidad de un clasificador binario para separar dos clases en todos los umbrales de decisión posibles. En aprendizaje automático, AUC casi siempre significa el área bajo la curva característica operativa del receptor (ROC), también denominada ROC AUC o AUROC. Su valor equivale a la probabilidad de que el modelo puntúe más alto un ejemplo positivo elegido al azar que uno negativo elegido al azar. Un AUC de 1,0 significa que todos los positivos superan a todos los negativos; 0,5 significa que la clasificación no es mejor que el azar, y los valores inferiores a 0,5 indican que está invertida. Como solo depende del orden de las puntuaciones, el AUC evalúa un modelo antes de que nadie elija un umbral, lo que lo convierte en una métrica estándar para los modelos de diagnóstico médico, la evaluación crediticia y la detección de fraude.
Cómo se calcula el AUC#
La curva ROC representa la tasa de verdaderos positivos, es decir, el recall, frente a la tasa de falsos positivos, la proporción de negativos marcados por error, cuando el umbral de decisión recorre los valores desde la puntuación más alta hasta la más baja. Un umbral superior a todas las puntuaciones no marca nada y se sitúa en (0, 0); un umbral inferior a todas las puntuaciones lo marca todo y se sitúa en (1, 1). El AUC es el área bajo la línea que conecta todos los puntos intermedios, que normalmente se calcula mediante la regla del trapecio.
El mismo valor se obtiene contando pares. Al comparar cada positivo con cada negativo y asignar a cada par una puntuación de 1 si el positivo ocupa una posición más alta, 0,5 si hay empate y 0 en caso contrario, se obtiene exactamente el ROC AUC. Los estadísticos conocen esta cantidad como el estadístico U de Mann-Whitney normalizado, y los investigadores médicos, como el estadístico de concordancia o estadístico c. Los equipos de riesgo crediticio suelen indicar en su lugar el coeficiente de Gini, que equivale a 2 × AUC − 1.
La interpretación por pares explica las principales propiedades del AUC. Cualquier transformación que mantenga el orden de las puntuaciones, como elevar al cuadrado las probabilidades o aplicar escalado de temperatura a los logits de un clasificador binario, deja el AUC sin cambios. Por eso, un modelo puede tener un AUC excelente y probabilidades mal calibradas. La calibración necesita una métrica aparte, como la puntuación de Brier.
ROC AUC y PR AUC con datos desequilibrados#
ROC AUC no depende de la proporción entre clases, porque la tasa de verdaderos positivos se calcula solo sobre los positivos y la tasa de falsos positivos, solo sobre los negativos. Esta propiedad se convierte en una desventaja cuando los positivos son poco frecuentes. Si hay 1 positivo por cada 100, una tasa de falsos positivos del 5 % genera unas cinco falsas alarmas por cada positivo real, pero apenas altera la curva ROC. El área bajo la curva precisión-recall (PR AUC), que suele resumirse como precisión media (AP), representa la precisión frente al recall y muestra directamente esas falsas alarmas, por lo que resulta más informativa que la curva ROC con datos desequilibrados. El siguiente script de scikit-learn puntúa un modelo de las dos formas:
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import average_precision_score, roc_auc_score
from sklearn.model_selection import train_test_split
# Imbalanced binary problem: 1 positive per 100 samples
X, y = make_classification(n_samples=20_000, weights=[0.99], flip_y=0, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, stratify=y, random_state=0)
# Score the test set with a simple classifier
model = LogisticRegression(max_iter=1000).fit(X_train, y_train)
scores = model.predict_proba(X_test)[:, 1]
# The same scores summarized by the areas under two different curves
print(f"Positives in test set: {y_test.sum()} of {len(y_test)}")
print(f"ROC AUC: {roc_auc_score(y_test, scores):.3f}")
print(f"PR AUC (average precision): {average_precision_score(y_test, scores):.3f}")Con 100 positivos entre 10 000 muestras de prueba, el modelo alcanza un ROC AUC de 0,911, pero una precisión media de solo 0,462. Los dos valores también tienen líneas de base distintas: una clasificación aleatoria obtiene un ROC AUC de 0,5 independientemente del equilibrio entre clases, mientras que su precisión media equivale a la tasa de positivos, que aquí es 0,01.
AUC multiclase y detección de objetos#
ROC AUC se define para dos clases. Para más clases, la función roc_auc_score de scikit-learn calcula la media de los AUC uno contra el resto, en los que cada clase se compara con todas las demás, o de los AUC uno contra uno de cada par de clases, con una media macro o ponderada por prevalencia.
La detección de objetos no puede usar curvas ROC, porque los negativos son todas las ubicaciones de caja que no contienen objetos, un conjunto prácticamente ilimitado sin una tasa de falsos positivos significativa. Las métricas de detección usan, en su lugar, las áreas bajo las curvas precisión-recall. La validación de YOLO26 en Ultralytics calcula la precisión media de cada clase como el área bajo su curva precisión-recall envolvente, muestreada en 101 puntos de recall, como en la evaluación de COCO, y promedia esas áreas para obtener la precisión media (mAP) en umbrales de IoU de 0,50 a 0,95.
AUC y términos relacionados#
- Precisión: Mide las predicciones correctas en un único umbral y puede parecer excelente con datos desequilibrados aunque no detecte ningún positivo. El AUC mide la clasificación en todos los umbrales.
- Puntuación F1: Combina precisión y recall en un único umbral, por lo que puntúa un solo punto de funcionamiento, mientras que el AUC los resume todos.
- Matriz de confusión: Cuenta los verdaderos y falsos positivos y negativos en un único umbral. Cada punto ROC resume una matriz de confusión como un par de tasas.
- Precisión media: Área bajo la curva precisión-recall, el resumen habitual cuando los positivos son poco frecuentes y el principal componente de mAP.
- AUC parcial: Área en un intervalo limitado de falsos positivos, como de 0 a 0,1; se usa cuando solo son aceptables tasas bajas de falsas alarmas, por ejemplo, en programas de cribado a gran escala donde cada falsa alarma activa una prueba de seguimiento.










