Découvrez comment le score F1 équilibre la précision et le rappel pour évaluer les modèles d'apprentissage automatique. Découvrez comment optimiser les performances Ultralytics pour une meilleure précision.
Le score F1 est un indicateur de performance essentiel dans l'apprentissage automatique qui combine la précision et le rappel en une seule moyenne harmonique. Il est particulièrement utile pour évaluer les modèles de classification lorsque l'ensemble de données est déséquilibré ou lorsque les faux positifs et les faux négatifs ont des coûts différents. Contrairement à la précision simple, qui peut être trompeuse si une classe domine l'ensemble de données, le score F1 offre une vision plus équilibrée de la capacité d'un modèle à identifier correctement les instances pertinentes tout en minimisant les erreurs. En pénalisant les valeurs extrêmes, il garantit qu'un score élevé n'est atteint que lorsque la précision et le rappel sont tous deux raisonnablement élevés, ce qui en fait un indicateur incontournable dans des domaines allant du diagnostic médical à la recherche d'informations.
Dans de nombreux scénarios réels, il ne suffit pas de connaître le pourcentage de prédictions correctes (précision). Par exemple, dans la détection d'anomalies, les cas normaux sont bien plus nombreux que les anomalies. Un modèle qui prédit « normal » pour chaque entrée pourrait atteindre une précision de 99 %, mais serait inutile pour détecter les problèmes réels. Le score F1 résout ce problème en équilibrant deux mesures concurrentes :
Comme il y a souvent un compromis à faire (améliorer la précision tend à réduire le rappel et vice versa), le score F1 sert de mesure unifiée pour trouver un point d'équilibre optimal. Ceci est crucial lors du réglage des modèles à l'aide de l' optimisation des hyperparamètres pour garantir des performances robustes dans diverses conditions.
L'utilité du score F1 s'étend à divers secteurs où le coût des erreurs est important.
Les cadres modernes de vision par ordinateur simplifient le calcul de ces mesures. Lors de l'entraînement des modèles de détection d'objets, le score F1 est automatiquement calculé pendant la phase de validation. Ultralytics visualise ces mesures dans des graphiques en temps réel, permettant aux utilisateurs de voir la courbe du score F1 par rapport à différents seuils de confiance.
Voici comment accéder aux métriques de validation, y compris les composants du score F1, à l'aide de 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}")
Il est essentiel de comprendre en quoi le score F1 diffère des autres critères d'évaluation pour choisir l'outil adapté à votre projet.
Si votre modèle souffre d'un faible score F1, plusieurs stratégies peuvent vous aider. L'augmentation des données peut accroître la variété des exemples positifs, aidant ainsi le modèle à mieux généraliser. L'utilisation du transfert d'apprentissage à partir de modèles de base robustes permet au réseau d'exploiter des caractéristiques pré-apprises. De plus, l'ajustement du seuil de confiance pendant l'inférence peut modifier manuellement l'équilibre entre la précision et le rappel afin de maximiser le score F1 pour votre cas d'utilisation spécifique.