Aprenda a utilizar la curva característica operativa del receptor (ROC) para evaluar clasificadores binarios. Explore las compensaciones entre TPR y FPR con Ultralytics .
La curva característica operativa del receptor (ROC) es una herramienta gráfica fundamental que se utiliza para evaluar el rendimiento de los modelos de clasificación binaria. En el ámbito del aprendizaje automático (ML), visualiza la relación entre la sensibilidad de un modelo y su especificidad en todos los umbrales de decisión posibles. A diferencia de las métricas de valor único, como la precisión, que pueden ser engañosas si un conjunto de datos está desequilibrado, la curva ROC ofrece una visión completa de cómo se comporta un clasificador a medida que los criterios para identificar instancias positivas se vuelven más o menos estrictos. Esta visualización es esencial para los ingenieros que utilizan técnicas de aprendizaje supervisado para determinar el punto de funcionamiento óptimo para su caso de uso específico.
Para comprender una curva ROC, es necesario fijarse en los dos parámetros representados gráficamente uno frente al otro: la tasa de verdaderos positivos (TPR) y la tasa de falsos positivos (FPR).
La curva ilustra una relación dinámica: a medida que se reduce el umbral de confianza para capturar más casos positivos (aumentando el TPR), se incrementa invariablemente el riesgo de marcar incorrectamente casos negativos (aumentando el FPR). Un clasificador perfecto alcanzaría la esquina superior izquierda del gráfico, lo que indicaría una sensibilidad del 100 % y un 0 % de falsas alarmas. Un modelo que hace conjeturas aleatorias aparecería como una línea diagonal desde la parte inferior izquierda hasta la parte superior derecha. El rendimiento general se resume a menudo mediante el área bajo la curva (AUC), donde un valor de 1,0 representa la perfección.
La decisión de dónde establecer el umbral en una curva ROC depende totalmente del coste de los errores en una aplicación industrial específica.
Para trazar una curva ROC, se necesitan las probabilidades de predicción sin procesar, en lugar de solo las etiquetas de clase finales. El siguiente ejemplo utiliza el modelo YOLO26 de última generación para generar puntuaciones de clasificación.
from ultralytics import YOLO
# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference to get probability distribution
results = model("bus.jpg")
# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")
Una vez recopiladas estas probabilidades para un conjunto de validación, los desarrolladores pueden utilizar bibliotecas como Scikit-learn para calcular los puntos de la curva. Para gestionar conjuntos de datos y realizar un seguimiento de estas métricas a lo largo del tiempo, la Ultralytics ofrece herramientas integradas para la evaluación y la implementación de modelos.
Es importante distinguir la curva ROC de otras herramientas de evaluación: