Au-delà de l'accuracy trompeuse sur données déséquilibrées : précision, rappel, score F1 et le compromis inévitable entre détection et fausses alertes.
L'indicateur le plus intuitif pour juger un classificateur est le taux de bonnes prédictions, ou accuracy (exactitude) : $\dfrac{\text{prédictions correctes}}{\text{total}}$. Mais cet indicateur seul peut être profondément trompeur, en particulier lorsque les classes sont déséquilibrées.
Sur un jeu de données où seulement $0{,}7\%$ des observations sont positives (par exemple, une fraude rare), un classificateur « naïf » qui prédit toujours la classe négative atteint une accuracy de $99{,}3\%$ — un score trompeusement excellent, alors que ce modèle est totalement inutile (il ne détecte jamais aucune fraude).
Pour dépasser cette limite, on introduit deux indicateurs complémentaires, tous deux calculables à partir des quatre quantités de la matrice de confusion (chapitre suivant) : vrais positifs (VP), faux positifs (FP), vrais négatifs (VN), faux négatifs (FN).
$$\text{Précision} = \frac{\text{VP}}{\text{VP}+\text{FP}}$$
Parmi les observations prédites positives, quelle proportion l'est réellement ?
$$\text{Rappel} = \frac{\text{VP}}{\text{VP}+\text{FN}}$$
Parmi les observations réellement positives, quelle proportion a été correctement détectée ?
Pour $\text{VP}=45,\,\text{FP}=10,\,\text{VN}=80,\,\text{FN}=15$ :
$\text{Accuracy}=\dfrac{45+80}{150}\approx0{,}833$.
$\text{Précision}=\dfrac{45}{45+10}\approx0{,}818$ : parmi les prédictions positives, environ 82% sont correctes.
$\text{Rappel}=\dfrac{45}{45+15}=0{,}75$ : le modèle détecte 75% des cas réellement positifs.
Pour $\text{VP}=2,\,\text{FP}=3,\,\text{VN}=990,\,\text{FN}=5$ (données très déséquilibrées) : $\text{Accuracy}\approx0{,}992$ (trompeusement élevée), mais $\text{Précision}=0{,}4$ et $\text{Rappel}\approx0{,}286$ — des valeurs bien plus révélatrices des faiblesses réelles du modèle sur la classe rare.
Abaisser le seuil de décision (chapitre « Classification supervisée ») augmente généralement le rappel (moins de faux négatifs) mais réduit la précision (davantage de faux positifs) — et inversement pour un seuil plus élevé. Aucun seuil ne peut maximiser simultanément les deux indicateurs, sauf cas idéal de séparation parfaite.
Le choix du seuil optimal dépend donc du contexte applicatif (déjà discuté au chapitre « Classification supervisée ») : privilégier le rappel en dépistage médical, la précision en filtrage de contenu à fort volume.
Pour synthétiser précision et rappel en un seul indicateur, on utilise leur moyenne harmonique :
$$F_1 = 2\times\frac{\text{Précision}\times\text{Rappel}}{\text{Précision}+\text{Rappel}}$$
La moyenne harmonique (plutôt qu'arithmétique) pénalise fortement un déséquilibre entre les deux indicateurs : un modèle avec précision $1{,}0$ mais rappel $0{,}1$ obtient un $F_1$ faible ($\approx0{,}18$), reflétant son inutilité pratique malgré une précision parfaite.
Pour l'exemple du §3 (précision $\approx0{,}818$, rappel $=0{,}75$) : $F_1=2\times\dfrac{0{,}818\times0{,}75}{0{,}818+0{,}75}\approx0{,}783$ — une valeur intermédiaire, synthétisant les deux aspects de la performance.
$$\text{Spécificité} = \frac{\text{VN}}{\text{VN}+\text{FP}}$$
Parmi les observations réellement négatives, quelle proportion a été correctement identifiée comme telle ? La spécificité est à la classe négative ce que le rappel est à la classe positive.
Ces indicateurs — accuracy, précision, rappel, spécificité, F1 — se calculent tous directement à partir des quatre cases de la matrice de confusion, l'outil central du chapitre suivant.
Pour $\text{VP}=60,\,\text{FP}=20,\,\text{VN}=100,\,\text{FN}=20$, calculer l'accuracy.
$\text{Accuracy}=\dfrac{60+100}{60+20+100+20}=\dfrac{160}{200}=0{,}8$.
Pour l'exercice 1, calculer la précision.
$\text{Précision}=\dfrac{60}{60+20}=0{,}75$.
Pour l'exercice 1, calculer le rappel.
$\text{Rappel}=\dfrac{60}{60+20}=0{,}75$.
Pour l'exercice 1, précision et rappel sont tous deux égaux à $0{,}75$. Est-ce toujours le cas ?
Non, c'est une coïncidence liée à cet exemple particulier ($\text{FP}=\text{FN}=20$) — en général, précision et rappel diffèrent, chacun mesurant un aspect distinct de la performance (cours §2).
Pour précision $=0{,}75$ et rappel $=0{,}75$ (exercice 1), calculer le score F1.
$F_1=2\times\dfrac{0{,}75\times0{,}75}{0{,}75+0{,}75}=0{,}75$ (quand précision = rappel, $F_1$ leur est égal).
Sur un jeu de données où 98% des observations sont négatives, un modèle qui prédit toujours « négatif » obtient quelle accuracy ?
$98\%$ (cours §1) — un score trompeusement élevé, ce modèle étant pourtant totalement inutile (il ne détecte jamais aucun cas positif, rappel $=0$).
Pour le modèle de l'exercice 6 (toujours « négatif »), que valent précision et rappel ?
Rappel $=0/(0+\text{FN})=0$ (aucun vrai positif détecté). Précision indéfinie ($0/0$, aucune prédiction positive n'étant jamais faite) — ces deux indicateurs révèlent immédiatement l'inutilité du modèle, contrairement à l'accuracy seule.
Pour une maladie touchant 2% de la population, pourquoi l'accuracy seule serait-elle un indicateur particulièrement inadapté pour évaluer un modèle de dépistage ?
Un modèle prédisant systématiquement « sain » atteindrait déjà $98\%$ d'accuracy sans jamais détecter aucun cas malade (cours §1) — l'accuracy ne renseigne pas sur la capacité réelle du modèle à identifier les cas positifs, contrairement au rappel qui serait ici l'indicateur central à examiner.
Si l'on abaisse le seuil de décision d'un modèle, précision et rappel évoluent-ils généralement dans le même sens ?
Non (cours §4) : abaisser le seuil augmente généralement le rappel (moins de faux négatifs) mais réduit la précision (davantage de faux positifs) — un compromis inévitable, sauf cas idéal de séparation parfaite des classes.
Pour un système de filtrage anti-spam où l'on veut éviter à tout prix de classer un email légitime comme spam, quel indicateur faut-il privilégier ?
La précision (cours §2) : elle mesure directement la proportion d'emails classés spam qui le sont réellement — une précision élevée minimise le risque de classer à tort un email légitime comme spam (faux positif).
Pour $\text{VP}=30,\,\text{FP}=5,\,\text{VN}=200,\,\text{FN}=65$, calculer précision, rappel et spécificité.
$\text{Précision}=\dfrac{30}{35}\approx0{,}857$.
$\text{Rappel}=\dfrac{30}{95}\approx0{,}316$.
$\text{Spécificité}=\dfrac{200}{205}\approx0{,}976$.
Pour l'exercice 11 (rappel $\approx0{,}316$), que peut-on dire de la capacité du modèle à détecter les cas positifs ?
Le modèle ne détecte qu'environ 32% des cas réellement positifs (65 faux négatifs sur 95 cas positifs réels) — malgré une précision élevée ($\approx0{,}857$, peu de fausses alertes), ce modèle manque une grande proportion des cas qu'il devrait détecter, un profil typique d'un seuil de décision trop élevé.
Pourquoi le score F1 utilise-t-il la moyenne harmonique de précision et rappel, plutôt que leur moyenne arithmétique simple ?
La moyenne harmonique pénalise fortement les déséquilibres entre les deux quantités (cours §5) : si l'une des deux est très faible, la moyenne harmonique reste basse, contrairement à la moyenne arithmétique qui masquerait ce déséquilibre en le compensant par l'autre valeur élevée — un comportement plus fidèle à l'intuition qu'un « bon » classificateur doit être performant sur les deux aspects simultanément.
Pour précision $=1{,}0$ et rappel $=0{,}1$, calculer $F_1$, et comparer à la moyenne arithmétique simple des deux.
$F_1=2\times\dfrac{1{,}0\times0{,}1}{1{,}0+0{,}1}\approx0{,}182$.
La moyenne arithmétique simple serait $(1{,}0+0{,}1)/2=0{,}55$, un score bien plus optimiste et trompeur que le $F_1\approx0{,}182$, qui reflète mieux l'inutilité pratique d'un modèle au rappel si faible.
Vrai ou faux : « il est toujours possible de maximiser simultanément précision et rappel en choisissant le bon seuil ».
Faux (cours §4) : sauf cas idéal de séparation parfaite des classes, il existe un compromis inévitable entre précision et rappel — améliorer l'un se fait généralement au détriment de l'autre.
Pour un système de recommandation e-commerce, un rappel élevé mais une précision faible signifierait quoi concrètement ?
Le système détecterait la plupart des produits qu'un client apprécierait réellement (rappel élevé), mais recommanderait aussi beaucoup de produits qui ne l'intéressent pas (précision faible, beaucoup de faux positifs) — un profil qui pourrait lasser l'utilisateur avec des recommandations peu pertinentes, malgré une bonne couverture des produits pertinents.
Modèle A : précision $=0{,}9$, rappel $=0{,}5$. Modèle B : précision $=0{,}7$, rappel $=0{,}7$. Lequel a le meilleur score F1 ?
Modèle A : $F_1=2\times\dfrac{0{,}9\times0{,}5}{1{,}4}\approx0{,}643$.
Modèle B : $F_1=2\times\dfrac{0{,}7\times0{,}7}{1{,}4}=0{,}7$ — le modèle B, plus équilibré entre précision et rappel, obtient un meilleur score F1 malgré une précision individuellement plus faible que le modèle A.
Pourquoi peut-on dire que la spécificité est « à la classe négative ce que le rappel est à la classe positive » ?
Le rappel mesure la proportion de cas positifs réels correctement identifiés ($\text{VP}/(\text{VP}+\text{FN})$) ; la spécificité mesure la proportion de cas négatifs réels correctement identifiés ($\text{VN}/(\text{VN}+\text{FP})$, cours §6) — les deux formules ont exactement la même structure, appliquée respectivement à la classe positive et à la classe négative.
Un modèle de détection de défauts a une précision de $0{,}95$ mais un rappel de seulement $0{,}4$. Ce modèle est-il adapté à un contexte où manquer un défaut est très coûteux (rappel produit) ?
Non, probablement pas : un rappel de seulement $0{,}4$ signifie que $60\%$ des pièces réellement défectueuses ne sont pas détectées — dans un contexte où les conséquences d'un défaut manqué sont graves, ce modèle devrait être ajusté (seuil plus bas, chapitre « Classification supervisée ») pour privilégier davantage le rappel, quitte à sacrifier un peu de précision.
Pour $\text{VP}=80,\,\text{FP}=15,\,\text{VN}=150,\,\text{FN}=25$ : (a) calculer accuracy, précision, rappel. (b) calculer le score F1. (c) calculer la spécificité. (d) ce modèle est-il globalement plus performant sur la détection des positifs ou des négatifs ?
(a) $\text{Accuracy}=\dfrac{230}{270}\approx0{,}852$. $\text{Précision}=\dfrac{80}{95}\approx0{,}842$. $\text{Rappel}=\dfrac{80}{105}\approx0{,}762$.
(b) $F_1=2\times\dfrac{0{,}842\times0{,}762}{0{,}842+0{,}762}\approx0{,}800$.
(c) $\text{Spécificité}=\dfrac{150}{165}\approx0{,}909$.
(d) Le modèle est légèrement plus performant sur la détection des négatifs (spécificité $\approx0{,}909$) que des positifs (rappel $\approx0{,}762$) — un déséquilibre à surveiller selon l'enjeu relatif de chaque type d'erreur pour l'application considérée.
Exercice A — Pour $\text{VP}=50,\,\text{FP}=12,\,\text{VN}=180,\,\text{FN}=18$.
1. Calculer l'accuracy.
2. Calculer la précision et le rappel.
3. Calculer le score F1.
4. Ce modèle est-il plus précis ou plus performant en rappel ?
Exercice B — Question de cours
Un data scientist rapporte fièrement une accuracy de 99% sur un modèle de détection de pannes rares (0,5% des cas). Expliquer pourquoi cette annonce, seule, ne permet pas de juger la qualité réelle du modèle.
Un modèle de dépistage automatisé d'une maladie donne, sur un jeu de test de 400 patients : $\text{VP}=18,\,\text{FP}=8,\,\text{VN}=350,\,\text{FN}=24$.
1. Calculer l'accuracy, la précision, le rappel et la spécificité.
2. Calculer le score F1.
3. Le comité médical juge que ce rappel est insuffisant pour un dépistage de cette maladie. Quelle action concrète (déjà vue au chapitre « Classification supervisée ») pourrait l'améliorer, et quel serait le compromis induit ?