Precision-Recall Curve
La curva de precisión-exhaustividad representa la precisión frente a la exhaustividad en distintos umbrales y muestra el rendimiento del modelo y el equilibrio entre las falsas alarmas y los casos no detectados.
Una curva de precisión-exhaustividad es un gráfico que muestra cómo cambian la precisión y la exhaustividad de un modelo al variar su umbral de decisión. La exhaustividad se representa en el eje horizontal y la precisión, en el eje vertical. Cada punto de operación medido corresponde a un umbral: cuántos casos positivos encuentra el modelo y hasta qué punto son fiables sus predicciones positivas. La curva ayuda a evaluar clasificadores y detectores cuando las falsas alarmas y los casos no detectados tienen costes distintos.
Cómo funciona una curva de precisión-exhaustividad#
La precisión es la fracción de predicciones positivas que son correctas: TP / (TP + FP). La exhaustividad, también llamada sensibilidad, es la fracción de positivos reales detectados: TP / (TP + FN). TP significa verdaderos positivos, FP significa falsos positivos y FN significa falsos negativos: los resultados que se contabilizan en una matriz de confusión.
Al recorrer un umbral de confianza a través de las puntuaciones de predicción, se obtienen pares de precisión y exhaustividad. Al bajar el umbral se admiten más predicciones, por lo que la exhaustividad aumenta o se mantiene. La precisión puede variar en cualquier dirección a medida que se incorporan predicciones correctas e incorrectas al conjunto, lo que da lugar a una curva escalonada.
Cyril Cleverdon introdujo los gráficos de exhaustividad frente a relevancia en su informe de Cranfield de 1962, sentando las bases de la recuperación de información para la evaluación de precisión y exhaustividad. En la búsqueda de documentos, los documentos relevantes recuperados son verdaderos positivos; los documentos irrelevantes recuperados son falsos positivos.
Interpretación de la curva y su línea de base#
Una curva que mantiene una precisión alta a medida que la exhaustividad se acerca a 1 indica un rendimiento sólido. Cuando las curvas se cruzan, cada modelo funciona mejor en una región operativa distinta. Una caída brusca de la precisión muestra dónde las predicciones adicionales generan muchas falsas alarmas.
La línea de base de una clasificación aleatoria no informativa es la prevalencia de la clase positiva: la fracción de ejemplos etiquetados como positivos. Si el 1 % de los ejemplos son positivos, la precisión de referencia es 0,01. Al cambiar la prevalencia, cambia la precisión, por lo que la población de evaluación forma parte del resultado.
Una curva característica operativa del receptor (ROC) representa la exhaustividad frente a la tasa de falsos positivos, FP / (FP + TN), donde TN significa verdaderos negativos. La evaluación de precisión y exhaustividad expresa directamente la proporción de alertas correctas, por lo que resulta útil cuando los positivos son poco frecuentes. La exactitud puede estar dominada por la clase mayoritaria.
Cómo elegir un umbral de operación#
Selecciona un punto de operación en los datos de validación según los costes de error. Si necesitas una exhaustividad mínima, selecciona el punto factible con mayor precisión; si necesitas una precisión mínima, selecciona el punto factible con mayor exhaustividad. Maximizar la puntuación F1, la media armónica de la precisión y la exhaustividad, da el mismo peso a ambas métricas. Los valores de umbral se obtienen de las puntuaciones subyacentes o de los gráficos de precisión-confianza y exhaustividad-confianza.
La predicción de Ultralytics YOLO ofrece esta opción mediante conf, que filtra las detecciones puntuadas. En una evaluación de Academy de YOLO26n con cuatro imágenes de validación de COCO8 y un IoU de 0.50, aumentar conf de 0.10 a 0.25 cambió la precisión y la exhaustividad interpoladas para la clase de personas de 0.63/0.80 a 1.00/0.54: hubo menos falsas alarmas, pero también más personas no detectadas.
Mantén fijo el umbral seleccionado al evaluar datos de prueba independientes.
Representación de una curva de precisión-exhaustividad en Python#
Este ejemplo distingue el dígito manuscrito 9 de los demás dígitos mediante imágenes incluidas y regresión logística. Instala las dependencias con pip install scikit-learn matplotlib y, después, usa la API de representación de curvas de precisión y exhaustividad de scikit-learn.
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import PrecisionRecallDisplay
from sklearn.model_selection import train_test_split
X, digits = load_digits(return_X_y=True)
y = digits == 9
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=42)
model = LogisticRegression(max_iter=2000)
model.fit(X_train, y_train)
PrecisionRecallDisplay.from_estimator(model, X_test, y_test)
plt.savefig("precision_recall_curve.png", bbox_inches="tight")El gráfico guardado muestra la precisión en cada nivel de exhaustividad alcanzable para las imágenes de dígitos reservadas para la evaluación.
Detección de objetos y precisión media#
En la detección de objetos, una caja delimitadora predicha cuenta como verdadero positivo cuando coincide con un objeto anotado aún no asignado de la misma clase con un valor igual o superior al umbral de intersección sobre unión (IoU). Las predicciones sin correspondencia, incluidos los duplicados, cuentan como falsos positivos. Cada clase tiene una curva independiente con el requisito de IoU fijado.
La precisión media (AP) resume la curva en distintos niveles de exhaustividad. El área bajo la curva precisión-exhaustividad trapezoidal y la AP no interpolada usan reglas de integración distintas. La media de la precisión media (mAP) promedia los valores de AP por clase. En las métricas de rendimiento de detección, mAP50 usa un IoU de 0.50, mientras que mAP50–95 calcula el promedio de diez umbrales de IoU desde 0.50 hasta 0.95, en incrementos de 0.05.










