Descubra cómo F1-Score equilibra la precisión y la recuperación para evaluar los modelos de aprendizaje automático. Descubra cómo optimizar el rendimiento Ultralytics para obtener una mayor precisión.
La puntuación F1 es una métrica de rendimiento fundamental en el aprendizaje automático que combina la precisión y la recuperación en una única media armónica. Es especialmente útil para evaluar modelos de clasificación en los que el conjunto de datos está desequilibrado o en los que los falsos positivos y los falsos negativos conllevan costes diferentes. A diferencia de la precisión directa, que puede ser engañosa si una clase domina el conjunto de datos, la puntuación F1 ofrece una visión más equilibrada de la capacidad de un modelo para identificar correctamente las instancias relevantes y minimizar los errores. Al penalizar los valores extremos, garantiza que solo se obtenga una puntuación alta cuando tanto la precisión como la recuperación sean razonablemente altas, lo que la convierte en una métrica básica en campos que van desde el diagnóstico médico hasta la recuperación de información.
En muchos escenarios del mundo real, no basta con conocer el porcentaje de predicciones correctas (precisión). Por ejemplo, en la detección de anomalías, los casos normales superan con creces en número a las anomalías. Un modelo que predice «normal» para cada entrada podría alcanzar una precisión del 99 %, pero sería inútil para detectar problemas reales. La puntuación F1 aborda esta cuestión equilibrando dos métricas contrapuestas:
Dado que a menudo hay que hacer concesiones (mejorar la precisión tiende a reducir la recuperación y viceversa), la puntuación F1 actúa como una métrica unificada para encontrar un punto de equilibrio óptimo. Esto es crucial a la hora de ajustar modelos utilizando la optimización de hiperparámetros para garantizar un rendimiento sólido en diversas condiciones.
La utilidad de la puntuación F1 se extiende a diversos sectores en los que el coste de los errores es significativo.
Los marcos modernos de visión por computadora simplifican el cálculo de estas métricas. Al entrenar modelos de detección de objetos, la puntuación F1 se calcula automáticamente durante la fase de validación. Ultralytics visualiza estas métricas en gráficos en tiempo real, lo que permite a los usuarios ver la curva de la puntuación F1 frente a diferentes umbrales de confianza.
A continuación se explica cómo se puede acceder a las métricas de validación, incluidos los componentes de la puntuación F1, utilizando la Python :
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")
# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")
Comprender en qué se diferencia la puntuación F1 de otros criterios de evaluación es esencial para seleccionar la herramienta adecuada para su proyecto.
Si su modelo tiene una puntuación F1 baja, hay varias estrategias que pueden ayudarle. El aumento de datos puede incrementar la variedad de ejemplos positivos, lo que ayuda al modelo a generalizar mejor. El empleo del aprendizaje por transferencia a partir de modelos básicos robustos permite a la red aprovechar las características previamente aprendidas. Además, el ajuste del umbral de confianza durante la inferencia puede cambiar manualmente el equilibrio entre la precisión y la recuperación para maximizar la puntuación F1 para su caso de uso específico.