Precision
La precisión es la proporción de predicciones positivas que son correctas: TP / (TP + FP). Descubre cómo influye la prevalencia, cómo la calculan los detectores y cómo aumentarla.
La precisión es la proporción de predicciones positivas de un modelo que son correctas. Responde a la pregunta «cuando el modelo dice que sí, ¿con qué frecuencia acierta?» y se calcula dividiendo los verdaderos positivos entre todas las predicciones positivas: precisión = TP / (TP + FP), donde un falso positivo (FP) es un caso negativo que el modelo ha marcado por error. La precisión va de 0 a 1; una precisión de 0.95 significa que 1 de cada 20 alertas es falsa. Valor predictivo positivo (PPV) es un sinónimo utilizado en medicina, y la tasa de falsos descubrimientos equivale a uno menos la precisión. La precisión es más importante cuando las falsas alarmas tienen un coste elevado, como en un filtro de spam que oculta correos legítimos, un sistema de inspección que descarta piezas válidas o una cámara de seguridad que avisa a los guardias por una sombra.
Cómo se calcula la precisión#
La precisión utiliza dos celdas de la matriz de confusión: los verdaderos positivos y los falsos positivos, que en conjunto representan todas las predicciones positivas. Los positivos no detectados no entran en la fórmula, por lo que un modelo que solo marca su caso más seguro puede alcanzar una precisión de 1.0 sin detectar prácticamente nada. Por eso, la precisión se presenta junto con la exhaustividad, TP / (TP + FN), que penaliza precisamente esos casos no detectados, y la puntuación F1, que combina ambas en un único valor. Si un modelo no hace ninguna predicción positiva, la precisión es 0 / 0 e indefinida, y bibliotecas como scikit-learn la notifican como 0 con una advertencia.
Con más de dos clases, la precisión se calcula por clase, considerando positiva la clase en cuestión y negativas todas las demás, y después se promedia. La precisión macro da el mismo peso a todas las clases, y en las tareas multiclase con una sola etiqueta la precisión micro promediada equivale a la exactitud.
La precisión depende de la prevalencia#
La exhaustividad y la especificidad describen por separado cómo trata un modelo los positivos y los negativos, por lo que se mantienen constantes cuando los positivos son menos frecuentes. La precisión combina ambos grupos y disminuye al bajar la prevalencia, porque aplicar la misma tasa de falsos positivos a un mayor número de negativos produce más falsas alarmas por cada detección correcta. El siguiente script de scikit-learn evalúa un modelo de cribado con dos prevalencias:
import numpy as np
from sklearn.metrics import accuracy_score, precision_score, recall_score
# One screening model at two prevalences: it finds 90% of positives and flags 1% of negatives
for positives in (1000, 100):
negatives = 10_000 - positives
tp, fp = int(0.9 * positives), int(0.01 * negatives)
counts = [tp, positives - tp, fp, negatives - fp] # TP, FN, FP, TN
# Rebuild labels and predictions for 10,000 cases from the confusion-matrix counts
y_true = np.repeat([1, 1, 0, 0], counts)
y_pred = np.repeat([1, 0, 1, 0], counts)
accuracy = accuracy_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
precision = precision_score(y_true, y_pred)
print(f"{positives} positives: accuracy {accuracy:.3f}, recall {recall:.2f}, precision {precision:.2f}")Con 1000 positivos entre 10.000 casos, el modelo alcanza una precisión de 0.91. Con 100 positivos, su exhaustividad sigue siendo 0.90 y su exactitud incluso aumenta a 0.989, pero ahora hay 99 falsas alarmas frente a 90 detecciones correctas y la precisión cae a 0.48. Por tanto, una precisión medida en un conjunto de prueba equilibrado sobreestima la que mostrará el modelo en producción cuando los positivos sean menos frecuentes, por ejemplo, al detectar una enfermedad rara.
Precisión en la detección de objetos#
En la detección de objetos, cada caja predicha que supera el umbral de confianza cuenta como una predicción positiva. Las predicciones se asocian en orden descendente de confianza, y una caja solo es un verdadero positivo si se solapa con un objeto etiquetado de la misma clase con una intersección sobre unión (IoU) igual o superior al umbral y ese objeto todavía no ha sido asignado a una caja con una puntuación más alta. Las cajas sobre el fondo, las de clase incorrecta, las mal colocadas y las duplicadas sobre un objeto ya asociado cuentan como falsos positivos.
Al aumentar el umbral de confianza se eliminan las cajas con puntuaciones bajas, que suelen ser más incorrectas, por lo que la precisión suele aumentar mientras disminuye la exhaustividad. Al representar la precisión frente a la exhaustividad para todos los umbrales se obtiene la curva precisión-exhaustividad, cuya área es la precisión promedio (AP). La precisión media promedio (mAP) calcula el promedio de esa área entre clases y, para mAP50-95, entre diez umbrales de IoU. La validación de YOLO26 guarda la precisión de cada clase para cada umbral de confianza como BoxP_curve.png e informa de la precisión (P) en el umbral de confianza donde alcanza su máximo la F1 media, junto con la exhaustividad y la mAP.
Cómo mejorar la precisión#
- Aumenta el umbral de confianza: Es la solución más rápida, pero reduce la exhaustividad.
- Añade negativos difíciles: Incluye en los datos de entrenamiento objetos similares y escenas vacías que provoquen falsas alarmas, para que el modelo aprenda qué no debe marcar. Seleccionar así los negativos que más confunden al modelo se denomina minería de negativos difíciles.
- Corrige las etiquetas que faltan: Una detección correcta de un objeto que el anotador pasó por alto cuenta como un falso positivo, por lo que las etiquetas de referencia incompletas hacen que la precisión parezca peor de lo que es.
- Separa las clases que se confunden: La matriz de confusión muestra qué clases confunde el modelo, y añadir más ejemplos o definir con mayor claridad esas clases elimina los falsos positivos de clase incorrecta.
Precisión frente a términos relacionados#
- Exhaustividad: La proporción de positivos reales que encuentra el modelo, TP / (TP + FN). Cuenta los casos que no detecta, mientras que la precisión cuenta las falsas alarmas.
- Especificidad: La proporción de negativos reales que se rechazan correctamente, TN / (TN + FP). Una especificidad de 0.99 aún puede dar una precisión inferior a 0.5 cuando los positivos son poco frecuentes, como muestra el script de cribado.
- Exactitud: La proporción de todas las predicciones que son correctas, dominada por la clase mayoritaria en datos desequilibrados.
- Precisión numérica: El número de bits usados para almacenar cada valor, como 32 bits o coma flotante de 16 bits, un significado distinto de la misma palabra.
- Precisión en la medición: El grado de concordancia entre mediciones repetidas; la exactitud describe lo cerca que están del valor real. Una báscula que siempre marca 2 kg de más es precisa, pero inexacta.










