Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Curva Característica Operativa del Receptor (ROC)

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.

Interpretación de los ejes y las compensaciones

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).

  • Tasa de verdaderos positivos (TPR): A menudo denominada recuerdo o sensibilidad, esta métrica en el eje y mide la proporción de observaciones positivas reales que el modelo identificó correctamente. Una TPR alta significa que el sistema rara vez pierde un objetivo.
  • Tasa de falsos positivos (FPR): representada en el eje x, representa la proporción de casos negativos que se clasifican erróneamente como positivos, también conocidos como «falsas alarmas».

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.

Aplicaciones en el mundo real

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.

  1. Diagnóstico médico: En la IA aplicada a la asistencia sanitaria, concretamente en tareas como la detección de tumores en el análisis de imágenes médicas, el coste de pasar por alto un caso positivo (un falso negativo) puede poner en peligro la vida del paciente. Por lo tanto, los profesionales suelen elegir un umbral que maximice la TPR, incluso si ello conlleva una FPR más alta, lo que significa que más pacientes sanos podrían ser inicialmente seleccionados para someterse a más pruebas.
  2. Detección de fraudes financieros: cuando se utiliza la IA en finanzas para supervisar las transacciones con tarjetas de crédito, los bancos deben encontrar un equilibrio entre la seguridad y la experiencia del cliente. Si el sistema es demasiado sensible (alto TPR), podría bloquear tarjetas legítimas (alto FPR), lo que frustraría a los usuarios. Los analistas utilizan la curva ROC para encontrar un umbral equilibrado que detecte la mayoría de los fraudes y, al mismo tiempo, mantenga los falsos positivos en un mínimo aceptable.

Generación de probabilidades para el análisis ROC

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.

ROC frente a conceptos relacionados

Es importante distinguir la curva ROC de otras herramientas de evaluación:

  • vs. Curva de precisión-recuerdo (PR): Mientras que la ROC representa la TPR frente a la FPR, la curva de precisión-recuerdo representa la precisión frente al recuerdo. La curva PR suele ser preferible cuando el conjunto de datos está muy desequilibrado (por ejemplo, detectar anomalías poco frecuentes), ya que la curva ROC a veces puede presentar una visión demasiado optimista en tales escenarios.
  • vs. Matriz de confusión: Una matriz de confusión proporciona una instantánea del rendimiento en un umbral específico único. Por el contrario, la curva ROC visualiza el rendimiento en todos los umbrales posibles, lo que la convierte en una herramienta más amplia para el análisis de modelos predictivos antes de establecer una regla de decisión definitiva.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora