F1-Score
Apprends comment le score F1 équilibre précision et rappel pour évaluer les modèles d'apprentissage automatique. Découvre comment optimiser les performances d'Ultralytics YOLO26 pour une meilleure précision.
Le Score F1 est une métrique de performance essentielle en 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 où le jeu de données est déséquilibré ou lorsque les faux positifs et les faux négatifs entraînent des coûts différents. Contrairement à une précision simple, qui peut être trompeuse si une classe domine le jeu 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 raisonnablement élevés, ce qui en fait une métrique de base dans des domaines allant du diagnostic médical à la recherche d'informations.
Pourquoi le Score F1 est important en apprentissage automatique#
Dans de nombreux scénarios du monde réel, il ne suffit pas de connaître simplement le pourcentage de prédictions correctes (la précision). Par exemple, dans la détection d'anomalies, les cas normaux dépassent de loin les anomalies. Un modèle qui prédit « normal » pour chaque entrée pourrait atteindre une précision de 99 %, mais serait totalement inutile pour détecter de réels problèmes. Le F1-Score résout ce problème en équilibrant deux métriques concurrentes :
- Précision : Cela mesure la qualité des prédictions positives. Cela répond à la question : « Sur toutes les instances que le modèle a étiquetées comme positives, combien l'étaient réellement ? »
- Rappel : Cela mesure la quantité de prédictions positives. Cela répond à la question : « Parmi toutes les instances positives réelles, combien le modèle en a-t-il correctement identifiées ? »
Puisqu'il existe souvent un compromis — améliorer la précision tend à réduire le rappel et vice versa —, le F1-Score agit comme une métrique unifiée pour trouver un point d'équilibre optimal. C'est crucial lors du réglage des modèles à l'aide de l'optimisation des hyperparamètres pour garantir des performances robustes dans des conditions diverses.
Applications concrètes#
L'utilité du Score F1 s'étend à diverses industries où le coût de l'erreur est significatif.
- Diagnostics médicaux : Dans l'IA dans la santé, en particulier pour des tâches comme la détection de tumeurs, un faux négatif (rater une tumeur) met la vie en danger, tandis qu'un faux positif (signaler un tissu bénin) provoque une anxiété inutile. Le F1-Score aide les chercheurs à optimiser des modèles comme YOLO26 pour s'assurer que le système est suffisamment sensible pour détecter les maladies sans submerger les médecins de fausses alertes.
- Recherche d'informations et recherche : Les moteurs de recherche et les systèmes de classification de documents utilisent le Score F1 pour évaluer la pertinence. Les utilisateurs veulent voir tous les documents pertinents (rappel élevé) mais ne veulent pas parcourir des résultats non pertinents (précision élevée). Un Score F1 élevé indique que le moteur récupère efficacement les bonnes informations sans encombrement.
- Filtrage des spams : Les services de messagerie utilisent la classification de texte pour isoler les spams. Le système doit détecter les e-mails de spam (rappel), mais surtout ne doit pas étiqueter les e-mails professionnels importants comme indésirables (précision). Le F1-Score sert de référence principale pour ces filtres.
Calculer le Score F1 avec Ultralytics#
Les frameworks de vision par ordinateur modernes simplifient le calcul de ces métriques. Lors de l'entraînement de modèles de détection d'objets, le F1-Score est automatiquement calculé pendant la phase de validation. La Plateforme Ultralytics visualise ces métriques dans des graphiques en temps réel, permettant de voir la courbe du F1-Score par rapport à différents seuils de confiance.
Voici comment tu peux accéder aux métriques de validation, y compris les composants du Score F1, en utilisant l'API 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}")Score F1 vs métriques associées#
Comprendre comment le Score F1 diffère d'autres critères d'évaluation est essentiel pour sélectionner le bon outil pour ton projet.
- Différence avec la précision : La précision traite toutes les erreurs de manière égale. Le F1-Score est supérieur pour les ensembles de données déséquilibrés car il se concentre sur les performances de la classe positive (la classe minoritaire d'intérêt).
- Relation avec le mAP : La précision moyenne (mAP) est la norme pour comparer les modèles de détection d'objets à tous les seuils de confiance. Cependant, le F1-Score est souvent utilisé pour déterminer le seuil de confiance optimal pour le déploiement. Tu peux choisir le seuil où la courbe F1 culmine pour déployer ton application.
- Matrice de confusion : La matrice de confusion fournit les comptes bruts (Vrais Positifs, Faux Positifs, etc.) à partir desquels le F1-Score est dérivé. Alors que la matrice donne des détails granulaires, le F1-Score fournit une statistique de synthèse unique pour une comparaison rapide.
- ROC-AUC : L'aire sous la courbe (AUC) mesure la séparabilité à tous les seuils. Le F1-Score est généralement préféré au ROC-AUC lorsque tu as une distribution de classes fortement asymétrique (par exemple, la détection des fraudes où la fraude est rare).
Améliorer ton Score F1#
Si ton modèle souffre d'un faible F1-Score, plusieurs stratégies peuvent t'aider. L'augmentation de données peut accroître la variété des exemples positifs, aidant 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, ajuster le seuil de confiance lors de l'inférence peut modifier manuellement l'équilibre entre la précision et le rappel pour maximiser le F1-Score pour ton cas d'utilisation spécifique.






