📌 Leçon - 12

Métriques d'Évaluation en Machine Learning

Maîtriser la précision, le rappel, le F1-score et autres indicateurs clés

Métriques d'évaluation
Les différentes métriques pour évaluer les performances d'un modèle (Source: Medium)

🎯 Pourquoi évaluer un modèle ?

Comparaison

Comparer objectivement différents modèles ou versions d'un même modèle

Amélioration

Identifier les points faibles à améliorer dans le modèle

Décision

Prendre des décisions éclairées sur le déploiement en production

Communication

Communiquer les performances à des parties prenantes non techniques

1

La Matrice de Confusion

Définition : Tableau qui montre les prédictions correctes et incorrectes d'un modèle de classification, décomposées par classe réelle et classe prédite.

Classification Binaire Multiclasse
Prédit
Positif Négatif
Réel Positif Vrais Positifs (VP) Faux Négatifs (FN)
Négatif Faux Positifs (FP) Vrais Négatifs (VN)
Structure d'une matrice de confusion pour un problème binaire

💡 Exemple concret : Détection de spam

Pour un classifieur de emails spam/ham (non spam) :

  • VP (100) : Emails spam correctement identifiés
  • VN (850) : Emails non spam correctement identifiés
  • FP (20) : Emails non spam marqués comme spam (faux positifs)
  • FN (30) : Emails spam non détectés (faux négatifs)

📊 Interprétation des Résultats

Vrais Positifs (VP)

Cas où le modèle a correctement identifié la classe positive

Exemple : Maladie correctement détectée

Faux Positifs (FP)

Cas où le modèle a prédit positif à tort

Exemple : Fausse alarme pour une maladie

Faux Négatifs (FN)

Cas où le modèle a manqué une instance positive

Exemple : Maladie non détectée

Vrais Négatifs (VN)

Cas où le modèle a correctement identifié la classe négative

Exemple : Patient sain correctement identifié

🔍 Exercice : Calculer les métriques

Pour notre exemple de détection de spam (VP=100, VN=850, FP=20, FN=30), calculez :

  1. L'accuracy (exactitude)
  2. La précision
  3. Le rappel
  4. Le F1-score
📝 Voir les solutions

1. Accuracy = (VP + VN) / Total = (100 + 850) / 1000 = 0.95 (95%)

2. Précision = VP / (VP + FP) = 100 / 120 ≈ 0.833 (83.3%)

3. Rappel = VP / (VP + FN) = 100 / 130 ≈ 0.769 (76.9%)

4. F1 = 2 * (Précision * Rappel) / (Précision + Rappel) ≈ 0.80 (80%)

2

La Précision

Définition : Proportion des prédictions positives qui étaient réellement correctes. Mesure la fiabilité des prédictions positives du modèle.

Précision Positive Predictive Value
Précision = VP / (VP + FP)
Visualisation précision
La précision se concentre sur la qualité des prédictions positives (Source: Medium)

💡 Quand optimiser pour la précision ?

Scénarios clés :

  • Modération de contenu : Lorsque les faux positifs sont coûteux (ex: supprimer un commentaire légitime)
  • Diagnostic médical : Quand un faux diagnostic positif peut entraîner des traitements inutiles et stressants
  • Détection de fraude : Lorsque bloquer une transaction légitime nuit à l'expérience client
Avantages
  • Utile quand les faux positifs sont critiques
  • Mesure directe de la fiabilité des prédictions positives
  • Importante pour les problèmes avec déséquilibre de classe
Limitations
  • Ignore les faux négatifs
  • Peut être trompeuse si la classe positive est rare
  • Doit être utilisée avec d'autres métriques

📈 Impact du seuil de classification

Courbe précision-rappel

En ajustant le seuil de décision (par défaut 0.5), on peut influencer la précision :

  • Seuil élevé : Moins de prédictions positives mais plus précises
  • Seuil bas : Plus de prédictions positives mais moins précises
3

Le Rappel (Recall/Sensibilité)

Définition : Proportion des vrais positifs correctement identifiés par rapport à tous les positifs réels. Mesure la capacité du modèle à trouver toutes les instances positives.

Rappel Sensibilité True Positive Rate
Rappel = VP / (VP + FN)
Visualisation rappel
Le rappel mesure la couverture des positifs réels (Source: Medium)

💡 Quand optimiser pour le rappel ?

Scénarios clés :

  • Diagnostic de maladies graves : Où manquer un cas positif (faux négatif) est dangereux
  • Détection de défauts industriels : Où ignorer un défaut peut avoir des conséquences coûteuses
  • Recherche de documents pertinents : Dans les systèmes de recherche où on veut maximiser la couverture
Avantages
  • Critique quand les faux négatifs sont dangereux/coûteux
  • Mesure la capacité à capturer tous les cas positifs
  • Important pour les problèmes où la classe positive est rare mais cruciale
Limitations
  • Ignore les faux positifs
  • Peut être maximisé en classant tout comme positif (mais inutile)
  • Doit être équilibré avec la précision

⚖️ Compromis Précision-Rappel

Courbe précision-rappel

La courbe précision-rappel montre le compromis inévitable entre ces deux métriques :

  • Augmenter le rappel diminue généralement la précision
  • Augmenter la précision diminue généralement le rappel
  • Le point optimal dépend du coût relatif des FP et FN
4

Le F1-Score

Définition : Moyenne harmonique de la précision et du rappel, fournissant une mesure unique qui équilibre ces deux métriques. Particulièrement utile pour les jeux de données déséquilibrés.

F1-Score Métrique composite
F1 = 2 × (Précision × Rappel) / (Précision + Rappel)
Visualisation F1-score
Le F1-score comme compromis entre précision et rappel (Source: Medium)

💡 Quand utiliser le F1-score ?

Scénarios clés :

  • Jeux de données déséquilibrés : Lorsqu'une classe est beaucoup plus rare que l'autre
  • Coûts symétriques : Quand faux positifs et faux négatifs ont des coûts similaires
  • Comparaison de modèles : Comme métrique unique pour classer des modèles
  • Recherche d'un compromis : Quand on veut équilibrer précision et rappel

🧮 Variantes du F1-Score

Fβ = (1 + β²) × (Précision × Rappel) / (β² × Précision + Rappel)

Où β contrôle l'importance relative du rappel par rapport à la précision :

  • F2-score (β=2) : Pèse le rappel deux fois plus que la précision
  • F0.5-score (β=0.5) : Pèse la précision deux fois plus que le rappel
Avantages
  • Métrique unique équilibrant précision et rappel
  • Utile pour les problèmes avec déséquilibre de classe
  • Meilleure que l'accuracy pour les données déséquilibrées
  • Variantes (Fβ) permettent d'ajuster l'équilibre
Limitations
  • Moins interprétable que précision ou rappel séparément
  • Ne tient pas compte des vrais négatifs
  • Pas idéal si un type d'erreur est plus coûteux que l'autre
  • Peut masquer des problèmes si une métrique est très faible

📊 Comparaison des Métriques

Métrique Définition Quand l'utiliser Valeurs
Précision VP / (VP + FP) Faux positifs coûteux 0 (pire) à 1 (meilleur)
Rappel VP / (VP + FN) Faux négatifs dangereux 0 (pire) à 1 (meilleur)
F1-score Moyenne harmonique Compromis équilibré 0 (pire) à 1 (meilleur)
Accuracy (VP + VN) / Total Classes équilibrées 0 (pire) à 1 (meilleur)

🏥 Cas d'Application : Détection de Cancer

Scénario

Modèle de détection précoce de cancer avec :

  • VP = 80 (cancers détectés)
  • FP = 20 (fausses alarmes)
  • FN = 10 (cancers manqués)
  • VN = 890 (patients sains correctement identifiés)

Calculs

Précision = 80 / (80 + 20) = 80%
Rappel = 80 / (80 + 10) ≈ 88.9%
F1 ≈ 2*(0.8*0.889)/(0.8+0.889) ≈ 84.2%

Analyse

Priorité : Maximiser le rappel (réduire FN) même au détriment de la précision

Action : Ajuster le seuil de décision pour diminuer les FN, acceptant plus de FP

📌 Autres Métriques Importantes

Accuracy (Exactitude)

(VP + VN) / Total

Utile pour : Problèmes équilibrés, première évaluation rapide

Limite : Trompeuse pour les données déséquilibrées

Spécificité

VN / (VN + FP)

Utile pour : Évaluer la performance sur la classe négative

Aussi appelée : True Negative Rate

Courbe ROC & AUC

TPR (Rappel) vs FPR (1 - Spécificité)

Utile pour : Comparer visuellement des modèles, évaluer les performances à différents seuils

AUC : Aire sous la courbe (1 = parfait, 0.5 = aléatoire)

🔧 Guide Pratique : Choisir ses Métriques

1. Problèmes équilibrés

Métrique principale : Accuracy

Complément : Matrice de confusion

Exemple : Classification d'images (50% chats, 50% chiens)

2. Données déséquilibrées

Métrique principale : F1-score

Complément : Précision, Rappel, Courbe ROC

Exemple : Détection de fraude (99% légitimes, 1% fraudes)

3. Coût asymétrique des erreurs

Prioritaire : FP coûteux → Précision

Prioritaire : FN coûteux → Rappel

Exemple : Diagnostic médical (FN très dangereux)

🐍 Implémentation en Python avec scikit-learn

Calcul des métriques à partir d'une matrice de confusion

from sklearn.metrics import confusion_matrix, precision_score, recall_score, f1_score Vérités terrain et prédictions y_true = [0, 1, 1, 0, 1, 0, 0, 1, 1, 1] y_pred = [0, 1, 0, 0, 1, 1, 0, 1, 1, 0] Calcul de la matrice de confusion tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel() Calcul des métriques precision = precision_score(y_true, y_pred) # tp / (tp + fp) recall = recall_score(y_true, y_pred) # tp / (tp + fn) f1 = f1_score(y_true, y_pred) # 2 * (precision * recall) / (precision + recall) print(f"Précision: {precision:.2f}") print(f"Rappel: {recall:.2f}") print(f"F1-score: {f1:.2f}")

📊 Visualisation avec Seaborn

import seaborn as sns import matplotlib.pyplot as plt from sklearn.metrics import ConfusionMatrixDisplay Affichage de la matrice de confusion disp = ConfusionMatrixDisplay.from_predictions(y_true, y_pred, display_labels=["Négatif", "Positif"], cmap=plt.cm.Blues, normalize="true") plt.title("Matrice de Confusion Normalisée") plt.show() Courbe ROC from sklearn.metrics import RocCurveDisplay RocCurveDisplay.from_predictions(y_true, y_pred) plt.title("Courbe ROC") plt.show()

🧠 Quiz Final : Testez Votre Compréhension

1. Pour un modèle avec VP=70, FP=30, FN=10, VN=890, quelle métrique est la plus importante si les faux négatifs sont critiques ?

2. Quelle affirmation sur le F1-score est fausse ?

📝 Voir les réponses

Réponse 1 : Rappel (car on veut minimiser les FN)

Réponse 2 : "Il donne plus de poids aux VN" (faux, le F1 ignore les vrais négatifs)

🎯 Conclusion & Bonnes Pratiques

1. Commencez simple

Utilisez d'abord une matrice de confusion et les métriques de base avant d'explorer des métriques avancées

2. Adaptez au contexte

Choisissez les métriques en fonction des coûts réels des différents types d'erreurs

3. Visualisez

Les courbes ROC et les matrices de confusion normalisées sont plus parlantes que les chiffres bruts

📈 Workflow Recommandé

  1. Analyser la distribution des classes (équilibré/déséquilibré)
  2. Déterminer le coût relatif des FP vs FN
  3. Choisir les métriques principales en conséquence
  4. Calculer toutes les métriques pertinentes
  5. Visualiser les résultats (matrice, courbes)
  6. Ajuster le seuil de décision si nécessaire
  7. Documenter les choix et résultats

📚 Ressources Complémentaires

Livres

  • "Hands-On Machine Learning" - Aurélien Géron
  • "The Hundred-Page Machine Learning Book" - A. Burkov

Cours en ligne

  • Machine Learning - Coursera (Andrew Ng)
  • scikit-learn documentation

Outils

  • Google Colab pour expérimenter
  • Weights & Biases pour le suivi

Commentaires