ROC-AUC de 0,97, precisión del 9 %: la matemática de la tasa base
Trabaja con un detector con un 1 % de positivos, convierte los umbrales en puntos ROC y de precisión-recall, y elige un punto operativo para un presupuesto de revisión de 30 alertas.
Aquí tenemos un detector con un ROC-AUC de . En un conjunto de prueba de 1.000 filas con 10 positivos, su umbral de recall del 90 % envía 99 alertas. Nueve son verdaderas. Noventa son falsas.
Ambas afirmaciones describen la misma clasificación por puntuación. La primera premia hasta qué punto los ejemplos positivos tienden a quedar por encima de los negativos en todos los umbrales. La segunda describe la cola que las personas deben revisar realmente en un umbral concreto. Cuando los positivos son poco frecuentes, pueden ser historias operativas radicalmente distintas.
Esta lección construye la diferencia a partir de un ejemplo sintético completo. Convertirás los recuentos de los umbrales en coordenadas ROC y de precisión-recall, calcularás el ROC-AUC y la precisión media, mostrarás cómo la prevalencia modifica la precisión sin mover el punto ROC y seleccionarás un umbral que encaje con un presupuesto de revisión de 30 alertas.
Un umbral crea 99 alertas
Imagina un modelo que asigna una puntuación entre y a cada fila. El conjunto contiene 10 positivos y 990 negativos, así que la prevalencia es
Con el umbral , cada puntuación igual o superior a se convierte en una alerta. La matriz de confusión resultante es:
| Predicción | Realmente positivo | Realmente negativo | Total |
|---|---|---|---|
| Alerta | TP = 9 | FP = 90 | 99 |
| Sin alerta | FN = 1 | TN = 900 | 901 |
| Total | 10 | 990 | 1.000 |
El umbral detecta nueve de los diez positivos. Suena bien hasta que se cuenta la cola de revisión: 90 de sus 99 alertas son falsos positivos. El modelo no se ha contradicho. El recall y la precisión responden a preguntas distintas.
El recall pregunta: «De todos los positivos reales, ¿qué proporción capturó el sistema de alertas?». La precisión pregunta: «De todas las alertas, ¿qué proporción era positiva?». En este punto operativo, las respuestas son y .
La matriz de confusión proporciona ambos sistemas de coordenadas
Una curva ROC representa la tasa de verdaderos positivos, que es el recall, frente a la tasa de falsos positivos:
Una curva de precisión-recall representa la precisión frente al recall. Para el umbral , la misma matriz de confusión da
y . Por tanto, su coordenada ROC es . Desde la perspectiva de precisión-recall,
Junto con el recall , esto se convierte en la coordenada de precisión-recall .
Ahora recorre seis umbrales sobre las mismas puntuaciones ordenadas. Los recuentos son acumulativos: bajar el umbral añade ejemplos positivos y negativos al conjunto de alertas.
| Umbral | TP | FP | Alertas | Recall | FPR | Precisión |
|---|---|---|---|---|---|---|
| ∞ | 0 | 0 | 0 | 0.0 | 0.0 | 1.000* |
| 0.95 | 4 | 1 | 5 | 0.4 | 0.0010 | 0.800 |
| 0.75 | 8 | 20 | 28 | 0.8 | 0.0202 | 0.286 |
| 0.55 | 9 | 90 | 99 | 0.9 | 0.0909 | 0.091 |
| 0.35 | 10 | 290 | 300 | 1.0 | 0.2929 | 0.033 |
| 0.10 | 10 | 990 | 1.000 | 1.0 | 1.0 | 0.010 |
Sin predicciones positivas, la precisión no está definida. El valor 1 es el punto de partida convencional utilizado para dibujar esta curva; no demuestra que el clasificador sea útil.
La documentación de la curva de precisión-recall de scikit-learn utiliza las mismas definiciones e incluye los extremos para una curva completa. Sus umbrales son los valores de puntuación distintos; un dataset real suele proporcionar muchos más puntos que este ejemplo compacto.
El punto naranja es el umbral 0.75 en ambos paneles. Las coordenadas cambian, mientras que la matriz de confusión subyacente sigue teniendo 8 verdaderos positivos, 20 falsos positivos, 2 falsos negativos y 970 verdaderos negativos.
ROC comprime 90 falsas alarmas en un 9,1 %
Con el umbral , el denominador de FPR contiene los 990 negativos. Noventa falsos positivos se convierten en un FPR de solo . La precisión, en cambio, coloca esos mismos 90 falsos positivos junto a los nueve verdaderos positivos que verán los revisores. Eso produce una precisión del .
Este es el efecto de la tasa base expresado con aritmética. Una pequeña fracción de una clase negativa muy grande puede superar a la mayoría de una clase positiva diminuta. El punto ROC es válido y no contiene ni la pureza de las alertas ni el tamaño de la cola.
El ROC-AUC resume toda la curva ROC, no un único umbral. Aplicar la regla del trapecio a los seis puntos da
scikit-learn define el ROC-AUC como el área bajo la curva ROC calculada a partir de las puntuaciones de predicción. Para un clasificador binario, también puede leerse como la probabilidad de que un positivo elegido al azar reciba una puntuación mayor que un negativo elegido al azar, con el tratamiento habitual de los empates. Esa interpretación del orden no especifica el umbral, el número de alertas ni el coste de revisión.
El análisis de ICML 2006 de Jesse Davis y Mark Goadrich muestra por qué esta distinción se agudiza con el desequilibrio de clases. Las curvas ROC y de precisión-recall están conectadas matemáticamente para un dataset fijo, pero el gran denominador negativo puede hacer que los gráficos ROC parezcan visualmente optimistas. También muestran que la interpolación lineal en el espacio de precisión-recall suele ser incorrecta; la curva entre los puntos operativos observados no es un segmento decorativo.
Para este recorrido discreto, la precisión media sin interpolar es
Está muy por encima de la precisión del de un ordenamiento sin información con esta prevalencia. La AP sigue resumiendo el ordenamiento; la decisión de dotación de personal necesita un punto operativo. La documentación de precisión media de scikit-learn utiliza la suma ponderada por recall anterior y advierte que la interpolación trapezoidal puede ser optimista.
La prevalencia modifica la precisión sin mover el punto ROC
Escribe la prevalencia como . Si un punto operativo tiene una tasa de verdaderos positivos y una tasa de falsos positivos , entonces en una población grande:
- la proporción esperada de alertas positivas es ;
- la proporción esperada de falsas alertas es .
La precisión se obtiene dividiendo la proporción de alertas positivas entre todas las alertas:
Usa el umbral , donde y . Mantener constantes esas tasas condicionales da:
| Prevalencia | Precisión esperada |
|---|---|
| 0,1% | 3,8% |
| 1% | 28,6% |
| 10% | 81,5% |
La coordenada ROC se mantiene cerca de en las tres filas porque la TPR está condicionada a los positivos y la FPR a los negativos. La coordenada de precisión cambia drásticamente porque su denominador mezcla alertas verdaderas y falsas.
Este cálculo supone que TPR y FPR se transfieren sin cambios a la nueva población. La transferencia debe probarse: los cambios en las distribuciones de puntuaciones, las etiquetas o la calidad de los datos pueden mover ambas tasas. Estima el punto operativo con datos que representen el uso previsto y mantén separada la selección del umbral de la muestra intacta utilizada para el informe final de rendimiento. La misma disciplina poblacional importa al calibrar las probabilidades predichas.
Treinta plazas de revisión eligen un umbral
Supón que el equipo puede revisar como máximo 30 alertas por cada 1.000 filas y exige al menos un de recall. La regla de decisión queda explícita:
El requisito de recall es
El umbral encaja en la cola con cinco alertas, pero su recall del no cumple el requisito. El umbral crea 28 alertas y alcanza un recall del , así que cumple. El umbral alcanza un recall del , pero crea 99 alertas, más de tres veces la capacidad disponible.
Por tanto, el punto operativo seleccionado es para estas filas y estas restricciones. Su precisión es : un revisor debería esperar unas 20 falsas alertas entre las 28, no la tranquilidad que sugiere citar únicamente un ROC-AUC de .
La capacidad también puede escribirse como una tolerancia de falsos positivos. Una vez fijado el número mínimo de verdaderos positivos, un presupuesto permite como máximo
Con y ocho verdaderos positivos, la tolerancia es de 22 falsos positivos. El umbral produce 20. Esta traducción conecta las métricas del modelo con la restricción real de recursos, en lugar de asignar una importancia universal a una sola curva.
Reproduce el recorrido y el filtro de presupuesto
El siguiente programa de NumPy calcula ambas curvas, el ROC-AUC, la precisión media sin interpolar y el umbral elegible. Los arrays contienen recuentos acumulados en cada umbral descendente.
import numpy as np
thresholds = np.array([np.inf, 0.95, 0.75, 0.55, 0.35, 0.10])
tp = np.array([0, 4, 8, 9, 10, 10])
fp = np.array([0, 1, 20, 90, 290, 990])
positives, negatives = 10, 990
recall = tp / positives
fpr = fp / negatives
precision = np.divide(
tp,
tp + fp,
out=np.ones_like(tp, dtype=float),
where=(tp + fp) > 0,
)
roc_auc = np.trapezoid(recall, fpr)
average_precision = np.sum(np.diff(recall) * precision[1:])
budget = 30
recall_floor = 0.75
alerts = tp + fp
eligible = (alerts <= budget) & (recall >= recall_floor)
print(f"ROC-AUC: {roc_auc:.6f}")
print(f"average precision: {average_precision:.6f}")
print("eligible thresholds:", thresholds[eligible])
La salida es:
ROC-AUC: 0.970808
average precision: 0.446710
eligible thresholds: [0.75]
Si cumplen varios umbrales, elige según un objetivo secundario declarado—como el recall más alto dentro del presupuesto o el coste esperado más bajo—y no según el punto que haga que un gráfico parezca mejor. Si las puntuaciones tienen empates, todas las filas del umbral se mueven juntas; puede ser imposible alcanzar exactamente un objetivo de capacidad.
Cuando ningún umbral encaja
Reduce el mismo presupuesto a 25 alertas y exige un recall del . El umbral captura ocho positivos, pero crea 28 alertas. El umbral más alto encaja en la cola, pero captura solo cuatro positivos. Ninguna fila del recorrido satisface ambas restricciones.
Ese resultado es accionable. Mover el umbral no puede crear un punto operativo que falta. El equipo debe mejorar el ordenamiento, añadir un filtro de segunda etapa, aumentar la capacidad de revisión o aceptar un requisito de recall distinto. En un sistema real, los falsos positivos y falsos negativos también pueden tener costes desiguales, así que una función de costes o un análisis de decisiones puede sustituir al simple límite de la cola.
El principio de medición más amplio es actual además de matemático. NIST AI 800-3 subraya que los evaluadores deben elegir una cantidad de rendimiento y un método de incertidumbre que encajen con el objetivo y los datos; no existe una fórmula única para cada evaluación. Aquí la cantidad relevante no es «AUC» en abstracto, sino el recall, la precisión y el volumen de alertas en un umbral para una prevalencia determinada y un presupuesto real de revisión.