Analyse approfondie des métriques de classification
Matrice de confusion, précision, rappel, F1, ROC-AUC et courbe PR — choisir la bonne métrique.
Analyse approfondie des métriques de classification est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
L’exactitude ne suffit pas
L’exactitude est la proportion de prédictions correctes, mais elle est trompeuse avec des données déséquilibrées. Un modèle qui prédit uniquement la classe majoritaire peut obtenir 99 % tout en étant inutile pour la classe rare.
La matrice de confusion
La matrice de confusion répartit les prédictions entre vrais positifs, faux positifs, vrais négatifs et faux négatifs. Elle constitue le fondement de toutes les autres métriques.
from sklearn.metrics import confusion_matrix
y_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 0, 1, 1]
print(confusion_matrix(y_true, y_pred))
# rows = actual, columns = predictedPrécision
Précision = TP / (TP + FP). Parmi tous les éléments prédits positifs, combien le sont réellement ? Une précision élevée signifie peu de fausses alertes. C’est important lorsque les faux positifs sont coûteux (par exemple pour les filtres à pourriels).
from sklearn.metrics import precision_score
print(precision_score(y_true, y_pred))Rappel
Rappel = TP / (TP + FN). Parmi tous les positifs réels, combien avons-nous détectés ? Un rappel élevé signifie peu de cas manqués. C’est important lorsque les faux négatifs sont coûteux (par exemple pour le dépistage des maladies).
from sklearn.metrics import recall_score
print(recall_score(y_true, y_pred))Mesure F1
La mesure F1 est la moyenne harmonique de la précision et du rappel : 2 * P * R / (P + R). Elle équilibre les deux et est utile lorsqu’un seul nombre est nécessaire pour des données déséquilibrées.
from sklearn.metrics import f1_score, classification_report
print(f1_score(y_true, y_pred))
print(classification_report(y_true, y_pred))Courbe ROC et AUC
La courbe ROC représente le taux de vrais positifs en fonction du taux de faux positifs pour différents seuils. roc_auc_score la résume : 1.0 est parfait et 0.5 correspond à des prédictions aléatoires.
from sklearn.metrics import roc_auc_score
# needs probability scores, not hard labels
proba = model.predict_proba(Xte)[:, 1]
print(roc_auc_score(yte, proba))Courbe précision-rappel
La courbe PR représente la précision en fonction du rappel pour différents seuils. Elle est plus informative que la courbe ROC lorsque les classes sont fortement déséquilibrées, car elle se concentre sur la classe positive.
from sklearn.metrics import precision_recall_curve
prec, rec, thresh = precision_recall_curve(yte, proba)
# plot rec (x) vs prec (y) to see the tradeoffPrécision moyenne
average_precision_score résume la courbe PR en un seul nombre (l’aire sous la courbe PR). C’est la métrique de synthèse privilégiée pour la classification binaire déséquilibrée.
from sklearn.metrics import average_precision_score
print(average_precision_score(yte, proba))ROC AUC ou précision moyenne
La ROC AUC peut sembler optimiste sur des données déséquilibrées, car les vrais négatifs sont majoritaires. La précision moyenne ignore les vrais négatifs et reflète plus honnêtement les performances sur la classe positive rare.
Choisir la bonne métrique
Utilisez la mesure F1 ou la précision moyenne pour les problèmes déséquilibrés. Utilisez la ROC AUC pour évaluer la qualité du classement sur des données équilibrées. Choisissez la précision lorsque les fausses alertes sont préjudiciables, et le rappel lorsque les cas manqués le sont. Indiquez toujours votre priorité avant de choisir.
Réglage du seuil
La plupart des métriques dépendent du seuil de décision (0.5 par défaut). En déplaçant le seuil, vous échangez précision et rappel. Utilisez la courbe PR pour choisir un seuil qui respecte votre exigence métier.
import numpy as np
# pick threshold for at least 0.9 precision
idx = np.argmax(prec >= 0.9)
chosen = thresh[idx]
preds = (proba >= chosen).astype(int)Vérification rapide
Testez votre compréhension des métriques.
Récapitulatif
Récapitulatif : commencez par la confusion_matrix. La précision pénalise les fausses alertes, le rappel pénalise les cas manqués et la mesure F1 équilibre les deux. roc_auc_score mesure la qualité du classement ; average_precision_score et la courbe PR sont préférables pour les données déséquilibrées. Réglez le seuil en fonction de vos priorités.
Questions Fréquemment Posées
La leçon « Analyse approfondie des métriques de classification » est-elle gratuite ?
Oui — le texte complet de « Analyse approfondie des métriques de classification » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Analyse approfondie des métriques de classification » ?
Matrice de confusion, précision, rappel, F1, ROC-AUC et courbe PR — choisir la bonne métrique. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Analyse approfondie des métriques de classification » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Stratégies de validation croisée
- Analyse approfondie des métriques de classification
- Recherche sur grille et recherche aléatoire
- Optimisation bayésienne avec Optuna