Bonjour ! Dans la leçon précédente, nous avons construit notre premier modèle de classification, la régression logistique. Nous avons utilisé le score d'exactitude (accuracy) pour une première évaluation, mais comme je l'avais mentionné, cette métrique peut parfois être trompeuse.
Cette leçon se concentre sur l'évaluation fine de nos modèles de classification. Nous allons aller au-delà de la simple exactitude pour explorer un ensemble de métriques plus nuancées et puissantes : la précision, le rappel (recall) et le score F1. Comprendre ces indicateurs est crucial pour juger de la véritable performance d'un modèle, surtout lorsque les erreurs n'ont pas toutes le même coût. Vous apprendrez non seulement ce que chaque métrique mesure, mais aussi dans quel contexte il est préférable d'en privilégier une par rapport aux autres.
1. Au-delà de l'Exactitude : Pourquoi avons-nous besoin de plus ?
Imaginons un modèle qui doit détecter une maladie rare, présente chez seulement 1% de la population. Un modèle "paresseux" qui prédirait systématiquement "pas de maladie" obtiendrait une exactitude de 99% ! Impressionnant, n'est-ce pas ? Pourtant, ce modèle est totalement inutile, car il ne détecte aucun des cas positifs.
Cet exemple extrême illustre pourquoi l'exactitude seule ne suffit pas. Nous devons pouvoir évaluer la performance de notre modèle sur chaque classe, en particulier sur la classe qui nous intéresse le plus (la "classe positive").
La vidéo suivante explique de manière très intuitive les limites de l'exactitude et introduit la nécessité de métriques plus robustes.
Precision, Recall, & F1 Score Intuitively Explained
Cette vidéo de la chaîne Scarlett's Log explique pourquoi l'exactitude peut être trompeuse, en particulier avec des jeux de données déséquilibrés.
Regardez la partie qui expose le problème de l'exactitude, de l'introduction à ses limites. Cela vous donnera une excellente base intuitive pour comprendre pourquoi les métriques suivantes sont si importantes.
2. Les Quatre Piliers de l'Évaluation : TP, TN, FP, FN
Toute évaluation de classification binaire repose sur la comparaison entre les valeurs réelles (y_test) et les valeurs prédites par le modèle (y_pred). Chaque prédiction peut tomber dans l'une des quatre catégories suivantes. Utilisons notre exemple du cancer du sein de la leçon précédente, où la classe positive (1) est "malin" et la classe négative (0) est "bénin".
- Vrai Positif (True Positive - TP) : La réalité est "malin" et le modèle prédit "malin". Le modèle a correctement identifié un cas de maladie.
- Vrai Négatif (True Negative - TN) : La réalité est "bénin" et le modèle prédit "bénin". Le modèle a correctement identifié un cas sain.
- Faux Positif (False Positive - FP) : La réalité est "bénin" mais le modèle prédit "malin". C'est une fausse alarme (Erreur de Type I). Un patient sain est incorrectement diagnostiqué comme malade.
- Faux Négatif (False Negative - FN) : La réalité est "malin" mais le modèle prédit "bénin". C'est un cas manqué (Erreur de Type II). Un patient malade est incorrectement diagnostiqué comme sain. C'est souvent l'erreur la plus coûteuse.
Ces quatre valeurs sont généralement organisées dans un tableau appelé la matrice de confusion, que nous explorerons plus en détail dans la prochaine leçon. Pour l'instant, il est essentiel de bien comprendre ces quatre termes, car toutes les autres métriques en découlent.
L'article suivant de Towards Data Science offre des définitions claires et un exemple simple.
Understanding Accuracy, Recall, Precision, F1 Scores, and ...
Cet article fournit des définitions claires pour les concepts fondamentaux de l'évaluation de la classification.
Lisez la section intitulée Key Terms. L'exemple utilise un filtre anti-spam, mais les définitions de Vrai Positif, Faux Positif, Vrai Négatif et Faux Négatif sont universelles. Assurez-vous de bien comprendre chaque terme.
Maintenant que ces bases sont posées, redéfinissons nos métriques.
3. Précision : La Qualité des Prédictions Positives
La précision répond à la question : "Parmi toutes les prédictions positives que le modèle a faites, combien étaient réellement correctes ?"
- Quand la privilégier ? Lorsque le coût d'un Faux Positif (FP) est élevé.
- Analogie : Filtre anti-spam. Un FP signifie qu'un e-mail important est classé comme spam et pourrait être manqué. C'est très problématique. On préfère donc un modèle avec une haute précision : quand il dit "spam", on veut être quasi certain que c'est bien du spam, même si cela signifie que quelques spams passent entre les mailles du filet (ce qui serait un FN).
La vidéo que vous avez commencée explique très bien l'intuition derrière la précision.
Precision, Recall, & F1 Score Intuitively Explained
Cette section de la vidéo de Scarlett's Log se concentre sur l'intuition de la métrique de précision.
Regardez la partie qui explique ce qu'est la précision et ce qu'elle mesure.
4. Rappel (Recall) : L'Exhaustivité de la Détection
Le rappel (aussi appelé sensibilité ou taux de vrais positifs) répond à une question différente : "De tous les cas réellement positifs, combien le modèle a-t-il réussi à trouver ?"
- Quand le privilégier ? Lorsque le coût d'un Faux Négatif (FN) est très élevé.
- Analogie : Diagnostic médical. Un FN signifie qu'un patient malade est diagnostiqué comme sain. Les conséquences peuvent être dramatiques. On veut donc un modèle avec un rappel très élevé : il doit détecter tous les malades possibles, même si cela génère quelques fausses alarmes (FP, ce qui baisserait la précision) qui seront ensuite écartées par des examens complémentaires.
Retournons à notre vidéo pour l'explication intuitive du rappel.
Precision, Recall, & F1 Score Intuitively Explained
Cette partie de la vidéo aborde le rappel comme le complément de la précision.
Regardez maintenant l'explication sur le rappel. Notez bien comment il répond à une question différente de la précision et pourquoi les deux sont complémentaires.
Le Compromis Précision-Rappel
Il existe presque toujours un compromis entre la précision et le rappel.
- Pour obtenir un rappel de 100%, un modèle pourrait simplement prédire "malin" pour tous les patients. Il ne manquerait aucun malade (FN=0), mais il y aurait énormément de fausses alarmes (FP élevés), ce qui entraînerait une très faible précision.
- Pour obtenir une précision de 100%, le modèle pourrait être extrêmement prudent et ne prédire "malin" que pour le cas le plus évident. Il ne se tromperait jamais, mais il manquerait de nombreux autres cas (FN élevés), ce qui donnerait un très faible rappel.
Trouver le bon équilibre est essentiel, et c'est là qu'intervient le score F1.
5. Score F1 : L'Équilibre entre Précision et Rappel
Le score F1 combine la précision et le rappel en une seule métrique. Il s'agit de la moyenne harmonique des deux.
Pourquoi une moyenne harmonique et non une simple moyenne arithmétique ? Parce que la moyenne harmonique pénalise fortement les valeurs extrêmes. Si la précision ou le rappel est proche de 0, le score F1 sera également proche de 0. Cela garantit que notre modèle est performant sur les deux aspects, et pas seulement sur un seul. C'est la métrique la plus couramment utilisée pour avoir une vision équilibrée de la performance.
La fin de la vidéo explique très bien ce concept.
Precision, Recall, & F1 Score Intuitively Explained
La vidéo conclut en introduisant le score F1 comme une solution pour équilibrer précision et rappel.
Regardez la dernière partie sur le score F1. Portez une attention particulière à l'explication de la moyenne harmonique.
6. Mise en Pratique avec Scikit-learn
Heureusement, Scikit-learn nous facilite la vie en nous fournissant une fonction qui calcule toutes ces métriques d'un coup : classification_report.
Revenons à l'article de Towards Data Science pour voir comment l'utiliser et interpréter sa sortie.
Understanding Accuracy, Recall, Precision, F1 Scores, and ...
Cet article montre comment générer et lire un rapport de classification complet avec Scikit-learn.
Lisez la section Classification Report. Elle vous montre comment utiliser la fonction classification_report et comment interpréter le tableau qu'elle produit.
Voici comment nous pouvons l'appliquer à notre modèle de régression logistique de la leçon précédente :
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
# Importer les nouvelles fonctions !
from sklearn.metrics import classification_report, confusion_matrix
# 1. Charger et préparer les données
data = load_breast_cancer()
X, y = data.data, data.target
# Les noms des classes pour un rapport plus lisible
target_names = data.target_names
# 2. Séparer et mettre à l'échelle les données
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# 3. Entraîner le modèle (comme dans la leçon précédente)
model = LogisticRegression(random_state=42)
model.fit(X_train_scaled, y_train)
# 4. Faire des prédictions
y_pred = model.predict(X_test_scaled)
# 5. Évaluer le modèle avec un rapport complet
print(classification_report(y_test, y_pred, target_names=target_names))
La sortie ressemblera à ceci, que vous pouvez analyser grâce à l'image ci-dessous.

Dans ce rapport :
- Chaque ligne correspond à une classe ("malignant", "benign").
- Vous retrouvez la précision, le rappel (
recall), le score f1 (f1-score) pour chaque classe. supportest simplement le nombre d'occurrences réelles de chaque classe dans l'ensemble de test.accuracyest l'exactitude globale du modèle.macro avgest la moyenne de chaque métrique sur les classes (chaque classe a le même poids).weighted avgest la moyenne pondérée par le nombre d'échantillons dans chaque classe.
Conclusion
Vous disposez maintenant d'une boîte à outils complète pour évaluer vos modèles de classification de manière professionnelle. L'exactitude est un bon point de départ, mais elle ne dit pas tout.
Points clés à retenir :
- L'évaluation d'un classifieur repose sur quatre issues : Vrais Positifs (TP), Vrais Négatifs (TN), Faux Positifs (FP), et Faux Négatifs (FN).
- La précision mesure la fiabilité des prédictions positives (
TP / (TP + FP)). Elle est cruciale lorsque les fausses alarmes (FP) sont coûteuses. - Le rappel (
recall) mesure la capacité du modèle à trouver tous les cas positifs (TP / (TP + FN)). Il est vital lorsque les cas manqués (FN) sont dangereux. - Le score F1 est la moyenne harmonique de la précision et du rappel, offrant un score équilibré qui est souvent la meilleure métrique générale pour la performance d'un classifieur.
- La fonction
classification_reportde Scikit-learn fournit un résumé pratique de toutes ces métriques.
Dans la prochaine leçon, nous reviendrons sur un élément fondamental que nous n'avons fait qu'effleurer aujourd'hui : la matrice de confusion. Nous apprendrons à l'interpréter en détail pour comprendre précisément où et comment notre modèle se trompe, ce qui nous donnera des pistes précieuses pour l'améliorer.