Test Data
Explore le rôle essentiel des données de test en machine learning. Apprends à évaluer les performances d’Ultralytics YOLO26 à l’aide de jeux de données impartiaux afin de garantir une précision en conditions réelles.
Les données de test constituent un sous-ensemble spécifique d'un jeu de données plus vaste, strictement réservé à l'évaluation des performances finales d'un modèle d'apprentissage automatique (ML). Contrairement aux données utilisées lors des phases d'apprentissage précédentes, les données de test restent complètement « inconnues » de l'algorithme jusqu'à la toute fin du cycle de développement. Cet isolement est essentiel, car il fournit une évaluation impartiale de la capacité d'un modèle de vision par ordinateur (CV) ou d'un autre système d'intelligence artificielle (AI) à se généraliser à de nouvelles entrées du monde réel. En simulant un environnement de production, les données de test aident les développeurs à vérifier que leur modèle a véritablement appris les schémas sous-jacents au lieu de simplement mémoriser les exemples d'entraînement.
Le rôle des données de test dans le cycle de vie du ML#
Dans le cadre du workflow d'apprentissage automatique standard, les données sont généralement réparties en trois catégories distinctes, chacune ayant un objectif unique. Comprendre la distinction entre ces partitions est essentiel pour créer des systèmes robustes d'intelligence artificielle (AI).
- Données d'entraînement : Il s'agit de la plus grande partie du jeu de données, utilisée pour enseigner le modèle. L'algorithme ajuste de manière itérative ses paramètres internes, ou poids, afin de réduire les erreurs sur cet ensemble précis d'exemples.
- Données de validation : Ce sous-ensemble est utilisé fréquemment pendant le processus d'entraînement pour ajuster les hyperparamètres et orienter les décisions concernant l'architecture. Il sert de contrôle intermédiaire pour éviter le surapprentissage, lorsqu'un modèle obtient de bons résultats sur les données d'entraînement mais échoue sur de nouvelles données.
- Données de test : Il s'agit de l'« examen » final du modèle. Elles ne sont jamais utilisées pour mettre à jour les poids ou ajuster les paramètres. L'évaluation sur les données de test fournit des métriques de performance définitives, telles que l'exactitude, le rappel et la précision moyenne (mAP), que les parties prenantes utilisent pour décider si un modèle est prêt pour le déploiement du modèle.
La gestion appropriée de ces partitions est souvent facilitée par des outils tels que l'Ultralytics Platform, qui peut organiser automatiquement les jeux de données importés dans ces catégories essentielles afin de garantir une évaluation rigoureuse du modèle.
Importance d'une évaluation impartiale#
La principale valeur des données de test réside dans leur capacité à détecter le biais du jeu de données et les problèmes de variance. Si un modèle atteint une exactitude de 99 % sur les données d'entraînement, mais seulement de 60 % sur les données de test, cela indique une variance élevée (surapprentissage). À l'inverse, de mauvaises performances sur les deux ensembles suggèrent un sous-apprentissage.
L'utilisation d'un ensemble de test dédié respecte les principes scientifiques de reproductibilité et d'objectivité. Sans ensemble de test vierge, les développeurs risquent de « préparer le test », ce qui revient à faire remonter des informations de la phase d'évaluation vers la phase d'entraînement — un phénomène appelé fuite de données. Cela produit des estimations de performance excessivement optimistes qui s'effondrent lorsque le modèle est confronté à des données du monde réel.
Applications concrètes#
Les données de test sont essentielles dans tous les secteurs qui utilisent l'AI, afin de garantir la sécurité et la fiabilité des systèmes avant leur mise en production.
- Conduite autonome : Lors du développement de véhicules autonomes, les données d'entraînement peuvent être constituées de millions de kilomètres parcourus sur autoroute par temps dégagé. Les données de test doivent toutefois inclure des scénarios rares et difficiles — comme de fortes chutes de neige, des obstacles soudains ou des panneaux routiers ambigus — que la voiture n'a jamais explicitement « vus » pendant l'entraînement. Cela garantit que le système de détection d'objets peut réagir en toute sécurité dans des environnements imprévisibles.
- Diagnostics médicaux : Lors de la création d'un modèle de détection des tumeurs en imagerie médicale, l'ensemble d'entraînement peut provenir de la base de données d'un hôpital donné. Pour vérifier que le modèle est robuste et sûr pour un usage général, les données de test devraient idéalement comprendre des examens provenant de différents hôpitaux, réalisés avec différentes machines et représentant une population de patients diversifiée. Cette validation externe confirme que l'AI n'est pas biaisée en faveur d'un type d'équipement ou d'une population spécifique.
Évaluer les performances avec du code#
Avec le package ultralytics, tu peux facilement évaluer les performances d'un modèle sur un jeu de données mis de côté. Bien que le mode val soit souvent utilisé pour la validation pendant l'entraînement, tu peux également le configurer pour fonctionner sur une partition de test spécifique définie dans ta configuration YAML du jeu de données.
Voici comment évaluer un modèle YOLO26 préentraîné afin d'obtenir des métriques telles que mAP50-95 :
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Evaluate the model's performance on the validation set
# (Note: In a strict testing workflow, you would point 'data'
# to a YAML that defines a specific 'test' split and use split='test')
metrics = model.val(data="coco8.yaml")
# Print a specific metric, e.g., mAP at 50-95% IoU
print(f"Mean Average Precision (mAP50-95): {metrics.box.map}")Ce processus génère des métriques complètes, ce qui permet aux développeurs de comparer objectivement différentes architectures, telles que YOLO26 par rapport à YOLO11, et de vérifier que la solution choisie répond aux objectifs définis du projet. Des tests rigoureux constituent l'étape finale de contrôle pour garantir le respect de normes élevées de sécurité de l'AI.









