Accuracy
L’exactitude est la proportion de prédictions correctes d’un modèle. Formule, exactitude top-1 et top-5, paradoxe de l’exactitude sur les données déséquilibrées et meilleures métriques.
La précision est la proportion de prédictions correctes d’un modèle : le nombre de prédictions correctes divisé par le nombre total de prédictions. C’est la mesure par défaut pour la classification d’images et les autres tâches d’apprentissage supervisé où chaque entrée porte une étiquette ; elle répond à la question la plus simple sur un modèle : à quelle fréquence a-t-il raison ? La précision est facile à lire et à comparer entre les modèles, mais elle accorde le même poids à chaque prédiction ; sur des données déséquilibrées, un modèle peut donc obtenir un score élevé tout en échouant précisément sur les cas importants, auxquels la précision et le rappel rendent mieux compte.
Calcul de l’exactitude#
Pour une tâche binaire, les quatre décomptes d’une matrice de confusion donnent exactitude = (TP + TN) / (TP + TN + FP + FN) : le nombre de vrais positifs et de vrais négatifs divisé par le nombre total de prédictions. Pour une tâche à plusieurs classes, l’exactitude correspond à la somme de la diagonale de la matrice divisée par le nombre total d’éléments, et accuracy_score de scikit-learn la calcule directement à partir de deux tableaux d’étiquettes. L’exactitude est souvent présentée plutôt sous la forme d’un taux d’erreur, où erreur = 1 − exactitude.
Exactitude Top-1 et Top-5#
Les classificateurs comportant de nombreuses classes indiquent aussi l’exactitude top-k. L’exactitude Top-1 considère une prédiction comme correcte uniquement lorsque la classe ayant obtenu le score le plus élevé correspond à l’étiquette réelle, tandis que l’exactitude Top-5 la considère comme correcte si l’étiquette réelle figure parmi les cinq classes aux scores les plus élevés. L’exactitude Top-5 s’est imposée avec le défi ImageNet, dont les photos contiennent souvent plusieurs objets, mais ne portent qu’une seule étiquette parmi 1 000 classes. Les modèles de classification YOLO26 indiquent les deux valeurs, et le modèle nano, yolo26n-cls.pt, atteint une exactitude Top-1 de 71,4 % et Top-5 de 90,1 % sur ImageNet à 224 pixels.
L’exactitude et les métriques associées#
- Précision : parmi les positifs prédits, la proportion de vrais positifs. Elle augmente lorsque les fausses alertes diminuent.
- Rappel : parmi les positifs réels, la proportion détectée par le modèle. C’est la valeur qui révèle qu’un modèle ignore une classe rare.
- Score F1 : la moyenne harmonique de la précision et du rappel, qui reste faible à moins que les deux soient élevés.
- Précision moyenne (mAP) : la métrique standard pour la détection d’objets, où l’exactitude ne s’applique pas, car l’arrière-plan ne fournit aucun vrai négatif dénombrable, mais un nombre illimité de régions d’image vides.
Le paradoxe de l’exactitude#
Lorsqu’une classe est dominante, l’exactitude récompense le fait d’ignorer la classe rare. Si 1 % des transactions sont frauduleuses, un modèle qui approuve chaque transaction atteint une exactitude de 99 % sans détecter la moindre fraude : c’est le paradoxe de l’exactitude. Le même piège se retrouve dans l’inspection des défauts, le dépistage des maladies et la détection d’anomalies, où la classe d’intérêt est rare par nature.
import numpy as np
from sklearn.metrics import accuracy_score, balanced_accuracy_score, recall_score
# 1,000 transactions, 10 of them fraudulent (label 1)
y_true = np.zeros(1000, dtype=int)
y_true[:10] = 1
# A model that labels every transaction as legitimate
y_pred = np.zeros(1000, dtype=int)
print(f"Accuracy: {accuracy_score(y_true, y_pred):.2f}")
print(f"Balanced accuracy: {balanced_accuracy_score(y_true, y_pred):.2f}")
print(f"Fraud recall: {recall_score(y_true, y_pred):.2f}")L’exactitude équilibrée, soit le rappel moyen sur l’ensemble des classes, révèle l’échec que l’exactitude simple masque : le script affiche une exactitude de 0.99, une exactitude équilibrée de 0.50 et un rappel de 0.00 pour la fraude.










