Apprenez à utiliser la courbe ROC (Receiver Operating Characteristic) pour évaluer les classificateurs binaires. Explorez les compromis entre TPR et FPR avec Ultralytics .
La courbe ROC (Receiver Operating Characteristic) est un outil graphique fondamental utilisé pour évaluer les performances des modèles de classification binaire. Dans le domaine de l' apprentissage automatique (ML), elle permet de visualiser le compromis entre la sensibilité et la spécificité d'un modèle pour tous les seuils de décision possibles. Contrairement aux mesures à valeur unique telles que la précision, qui peuvent être trompeuses si un ensemble de données est déséquilibré, la courbe ROC offre une vue d'ensemble du comportement d'un classificateur lorsque les critères d'identification des instances positives deviennent plus ou moins stricts. Cette visualisation est essentielle pour les ingénieurs qui utilisent des techniques d'apprentissage supervisé afin de déterminer le point de fonctionnement optimal pour leur cas d'utilisation spécifique.
Pour comprendre une courbe ROC, il est nécessaire d'examiner les deux paramètres représentés l'un par rapport à l'autre : le taux de vrais positifs (TPR) et le taux de faux positifs (FPR). Le TPR correspond à la proportion de vrais positifs parmi les résultats positifs. Le FPR correspond à la proportion de faux positifs parmi les résultats négatifs.
La courbe illustre une relation dynamique : lorsque vous abaissez le seuil de confiance pour capturer davantage de cas positifs (augmentation du TPR), vous augmentez inévitablement le risque de signaler à tort des cas négatifs (augmentation du FPR). Un classificateur parfait atteindrait le coin supérieur gauche du graphique, indiquant une sensibilité de 100 % et 0 % de fausses alarmes. Un modèle qui fait des suppositions aléatoires apparaîtrait sous la forme d'une ligne diagonale allant du coin inférieur gauche au coin supérieur droit. La performance globale est souvent résumée par l' aire sous la courbe (AUC), où une valeur de 1,0 représente la perfection.
La décision concernant l'emplacement du seuil sur une courbe ROC dépend entièrement du coût des erreurs dans une application industrielle spécifique.
Pour tracer une courbe ROC, vous avez besoin des probabilités de prédiction brutes plutôt que des étiquettes de classe finales. L'exemple suivant utilise le modèle de pointe YOLO26 pour générer des scores de classification.
from ultralytics import YOLO
# Load a pretrained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference to get probability distribution
results = model("bus.jpg")
# Access the probability score for the predicted class
# These continuous scores are required to calculate TPR/FPR at different thresholds
print(f"Top Class Index: {results[0].probs.top1}")
print(f"Confidence Score: {results[0].probs.top1conf:.4f}")
Une fois ces probabilités collectées pour un ensemble de validation, les développeurs peuvent utiliser des bibliothèques telles que Scikit-learn pour calculer les points de la courbe. Pour gérer les ensembles de données et suivre ces métriques au fil du temps, la Ultralytics propose des outils intégrés pour l'évaluation et le déploiement des modèles.
Il est important de distinguer la courbe ROC des autres outils d'évaluation :