Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Curva Característica Operativa del Receptor (ROC)

Aprenda cómo las curvas ROC y el AUC evalúan el rendimiento del clasificador en IA/ML, optimizando la tasa de verdaderos positivos (TPR) frente a la tasa de falsos positivos (FPR) para tareas como la detección de fraude y el diagnóstico médico.

Una curva ROC (Receiver Operating Characteristic) es una representación gráfica utilizada para evaluar el rendimiento de un modelo de clasificación binaria. modelo de clasificación binaria. Visualiza el equilibrio entre la tasa de verdaderos positivos (TPR) y la tasa de falsos positivos (FPR) a través de diferentes umbrales de clasificación. (FPR) a través de diferentes umbrales de clasificación. En aprendizaje automático (AM), esta curva es fundamental para evaluar lo bien que un modelo puede distinguir entre dos clases, como "spam" frente a "no spam" o "enfermo". "no spam" o "enfermo" frente a "sano". Al trazar estos índices, la curva ROC ofrece una visión completa de la capacidad de diagnóstico de un modelo, más allá de métricas de un solo número, como la precisión, que pueden inducir a error si se utilizan de forma aislada. precisión, que puede ser engañosa por sí sola.

Comprender los ejes

Para interpretar correctamente una curva ROC, es esencial comprender las dos métricas trazadas en sus ejes:

  • Tasa de verdaderos positivos (TPR): A menudo denominada Recall o sensibilidad, esta métrica mide la proporción de casos positivos reales que el modelo identifica correctamente. Por ejemplo, en un sistema de seguridad, sería el porcentaje de intrusos reales detectados correctamente.
  • Tasa de falsos positivos (FPR): Esta métrica calcula la proporción de instancias negativas reales que se identifican incorrectamente como positivas (falsas alarmas). Un FPR más bajo indica menos falsas alarmas, lo que es crucial para la confianza del usuario en sistemas como autenticación biométrica.

La curva se genera variando el umbral de confianza del clasificador de 0 a 1. Cada punto punto de la curva ROC representa un par sensibilidad/especificidad correspondiente a un umbral de decisión concreto. A Una línea diagonal desde abajo a la izquierda hasta arriba a la derecha representa un clasificador aleatorio sin capacidad de predicción (lanzamiento de una moneda), mientras que una curva (lanzamiento de una moneda al aire), mientras que una curva que se inclina hacia la esquina superior izquierda indica un modelo de alto rendimiento.

Aplicaciones en el mundo real

Las curvas ROC se utilizan ampliamente en diversos sectores para optimizar los umbrales de decisión en la implantación de modelos. implantación de modelos.

  1. Diagnóstico médico: En análisis de imágenes médicas, los investigadores utilizan curvas ROC para ajustar modelos de detección de afecciones como neumonía o tumores. Se da prioridad a un TPR alto para garantizar que no se pase por alto ningún caso positivo, aunque ello implique aceptar un FPR ligeramente superior. casos positivos, aunque ello signifique aceptar un FPR ligeramente superior. Este equilibrio es fundamental para cumplir con las normas de seguridad de organizaciones como la FDA.
  2. Detección del fraude financiero: Las entidades financieras emplean la IA en las finanzas para transacciones fraudulentas. En este caso, la curva ROC ayuda a los analistas a seleccionar un umbral que capte la mayoría de los intentos de fraude de los intentos de fraude (alta recuperación) sin marcar demasiadas transacciones legítimas, lo que afectaría negativamente a la experiencia del cliente. de los clientes.

Cálculo de probabilidades para ROC

Para trazar una curva ROC, necesita las probabilidades predichas para la clase positiva en lugar de sólo las etiquetas de clase finales finales. En el siguiente ejemplo se muestra cómo extraer estas probabilidades utilizando una función YOLO11 modelo de clasificación del ultralytics paquete.

from ultralytics import YOLO

# Load a pretrained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Run inference on an image to get prediction results
results = model("path/to/image.jpg")

# Access the probability distribution for all classes
# These scores are necessary inputs for calculating ROC and AUC
probs = results[0].probs.data
print(f"Class probabilities: {probs}")

Una vez obtenidas estas probabilidades para un conjunto de datos de prueba, bibliotecas como Scikit-learn para calcular los valores de FPR y TPR necesarios para trazar la curva.

ROC frente a otras métricas de evaluación

Aunque la curva ROC es una herramienta potente, conviene distinguirla de otros conceptos de evaluación relacionados:

  • Área bajo la curva (AUC): El Área bajo la curva (AUC) es un valor escalar escalar derivado de la curva ROC. Mientras que la curva ROC es un gráfico visual, el AUC cuantifica el rendimiento global en un único número entre 0 y 1, lo que facilita la comparación entre distintos métodos. rendimiento global en un único número entre 0 y 1, lo que facilita la comparación modelos de aprendizaje supervisado.
  • Curva Precisión-Recuperación: Cuando se trata de conjuntos de datos muy desequilibrados (por ejemplo, una enfermedad rara que afecta al 1% de la población), la curva ROC puede presentar a veces una visión demasiado optimista. En tales casos, una curva Precisión-Recuperación suele ser más informativa porque se centra directamente en el rendimiento de la clase minoritaria sin tener en cuenta los Verdaderos negativos.
  • Matriz de la confusión: A matriz de confusión proporciona una rendimiento en un único umbral específico, mostrando los recuentos exactos de verdaderos positivos, falsos positivos verdaderos negativos y falsos negativos. La curva ROC resume eficazmente la información de las matrices de confusión generadas en cada umbral posible.

Para tareas de detección de objetos, métricas como Precisión media (mAP) aunque las curvas ROC siguen siendo relevantes para el componente de clasificación subyacente de estos modelos. Comprender estas distinciones garantiza que los desarrolladores elijan la métrica adecuada para sus retos específicos de visión por ordenador. específicos de visión por ordenador (VC ).

Únase a la comunidad Ultralytics

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

Únete ahora