Mesurer un classifieur
Ce que ce chapitre apporte
- Dire pourquoi l'exactitude ne mesure rien sur des classes déséquilibrées.
- Lire une matrice de confusion et nommer ses quatre cases.
- Distinguer précision et rappel, et dire ce que chacune ignore.
- Expliquer pourquoi le seuil de décision n'est pas une propriété du modèle.
- Lire une courbe ROC, son aire, et savoir ce qu'elle ne voit pas.
- Choisir entre courbe ROC et courbe précision-rappel selon le déséquilibre.
- Fixer un seuil à partir du coût des erreurs.
- Vérifier qu'un score annonce la bonne fréquence.
L'exactitude ne mesure rien
Aucun modèle utile n'a le droit d'être comparé à autre chose que ce chiffre. Annoncer « 88 % de réussite » sans préciser le taux de base revient à ne rien annoncer du tout, et c'est pourtant la façon dont la plupart des résultats sont présentés.
Le problème est structurel : l'exactitude additionne les deux erreurs comme si elles étaient équivalentes, alors qu'elles ne le sont jamais. Manquer un incident grave et lever une fausse alerte n'ont ni le même coût, ni les mêmes conséquences, ni la même fréquence.
Quatre nombres, et non un seul :
| déclaré positif | déclaré négatif | |
|---|---|---|
| vraiment positif | vrais positifs (VP) | manqués (FN) |
| vraiment négatif | fausses alertes (FP) | vrais négatifs (VN) |
Les deux erreurs portent des noms distincts parce qu'elles sont des choses distinctes. Les confondre est l'erreur d'analyse la plus fréquente du domaine.
Le seuil, et tout ce qui en dépend
Un classifieur ne rend pas une classe : il rend un score. Le transformer en décision demande un seuil. La figure ci-dessous laisse le déplacer.
6 cas manqués et 4 fausses alertes. Baisser le seuil échange des manqués contre des fausses alertes, jamais l'inverse.
Les deux erreurs s'échangent. Baisser le seuil convertit des manqués en fausses alertes, jamais l'inverse. Il n'existe aucune position qui améliore les deux à la fois, et c'est pourquoi il faut savoir laquelle des deux coûte le plus cher.
Le point glisse sur une courbe fixe. Sur la courbe ROC, déplacer le seuil ne fait que se déplacer le long d'un tracé que le modèle a fixé une fois pour toutes. Changer de seuil ne rend pas le modèle meilleur ; changer de modèle déplace la courbe entière.
Précision : parmi les cas déclarés positifs, quelle part l'est vraiment. Elle répond à « quand il sonne, a-t-il raison ».
Rappel : parmi les positifs réels, quelle part a été retrouvée. Il répond à « en laisse-t-il passer ».
F1 est leur moyenne harmonique, , basse dès que l'une des deux est basse.
Le rappel ne regarde jamais les fausses alertes. Un modèle qui déclare tout positif affiche un rappel de 1,000 tout en étant parfaitement inutile.
Chacune prise seule se truque en une ligne. C'est pour cela qu'on les rapporte ensemble, avec le seuil auquel elles ont été mesurées, et qu'un F1 seul est déjà une information appauvrie.
Aucune des deux ne regarde les vrais négatifs, qui sont pourtant l'écrasante majorité des cas. C'est délibéré : sur un problème déséquilibré, cette case écrase tout et c'est elle qui rend l'exactitude trompeuse.
Un seuil par défaut peut tout annuler
Aucun cas n'est déclaré alerte grave : le modèle ne sert plus à rien, et son exactitude vaut pourtant 0,8.
Le modèle sait classer : son aire sous la courbe ROC vaut 0,809, ce qui est loin d'être négligeable. Mais ses scores sont tassés entre 0,028 et 0,450, si bien qu'au seuil par défaut de 0,50 aucune alerte ne franchit la barre. Zéro vrai positif, zéro fausse alerte, douze manqués.
Et l'exactitude, à ce moment précis, vaut 0,800, son maximum sur toute la plage du seuil. Quiconque optimise l'exactitude choisira donc exactement le réglage qui rend le modèle inerte.
La cause est presque toujours la même : sur des classes déséquilibrées, un modèle entraîné sans précaution produit des scores écrasés vers zéro. Le remède n'est pas de réentraîner, c'est de choisir le seuil.
L'exactitude, en chiffres
La courbe ROC, et ce qu'elle ne voit pas
En faisant varier le seuil de 1 à 0, porter en abscisse le taux de fausses alertes et en ordonnée le rappel .
L'aire sous la courbe a une interprétation exacte : c'est la probabilité qu'un positif tiré au hasard reçoive un score supérieur à celui d'un négatif tiré au hasard.
Elle vaut 0,5 pour un modèle qui classe au hasard et 1 pour un modèle qui sépare parfaitement.
La précision, elle, rapporte les VP à ce qui a été déclaré positif, et voit donc immédiatement ce naufrage. Le tableau le mesure : quand la part de graves passe de 14 % à 1,9 %, l'aire ne bouge presque pas alors que la précision est divisée par près de trois.
La règle qui en découle est nette. Sur des classes équilibrées, la ROC convient. Sur des classes fortement déséquilibrées, elle donne une impression flatteuse et il faut regarder la courbe précision-rappel, dont le plancher est le taux de base lui-même.
Le coût des erreurs décide du seuil
Le seuil théorique se calcule d'ailleurs : pour un modèle bien calibré, il vaut , soit ici. La valeur mesurée, 0,03, en est proche, et l'écart mesure exactement le défaut de calibration.
Le seuil par défaut de 0,50 coûte 2,7 fois le minimum. Ce n'est pas un réglage fin : c'est presque le triple, obtenu en ne se posant pas la question.
Personne dans une équipe de modélisation ne connaît le rapport de coûts. Il faut aller le demander, et c'est une conversation, pas un calcul.
La calibration
Un score est calibré si, parmi tous les cas auxquels il attribue la valeur , la proportion réellement positive vaut .
On le vérifie en regroupant les cas par tranche de score et en comparant, pour chaque tranche, le score moyen annoncé à la fréquence observée. Un modèle calibré place ses points sur la diagonale.
Elle compte dès que le score est interprété comme une probabilité. Multiplier un score par un montant pour obtenir une perte attendue, additionner des risques, ou fixer un seuil à partir d'un rapport de coûts : ces trois usages sont faux si le score ment.
Le seuil théorique calculé plus haut, , ne vaut d'ailleurs que pour un modèle calibré, et l'écart avec le seuil mesuré vient précisément de là.
Une calibration se corrige après coup, sans retoucher le modèle, en ajustant une fonction croissante des scores sur un jeu réservé. Comme le classement est préservé, l'aire sous la ROC ne change pas d'un iota.
Exercices type
Un modèle annonce 96 % de réussite sur un problème où 4 % des cas sont positifs. Qu'en penser ?
Qu'on ne sait rien, et qu'il faut réclamer d'autres chiffres.
Le modèle qui répond toujours « négatif », sans rien regarder, obtient exactement 96 % sur ce problème. Le chiffre annoncé est donc compatible avec un modèle parfaitement inutile.
Il est même compatible avec un modèle nuisible, qui trouverait quelques positifs au prix d'un grand nombre de fausses alertes.
Ce qu'il faut demander : la matrice de confusion complète, la précision et le rappel au seuil employé, et le taux de base. Trois lignes qui rendent le résultat lisible, contre un pourcentage qui ne dit rien.
Un modèle affiche une précision de 1,000. Est-ce bon ?
On ne peut pas le dire sans le rappel.
La précision ne regarde jamais les cas manqués. Un modèle qui ne signale qu'un seul cas sur mille, et qui a raison sur celui-là, affiche une précision parfaite tout en laissant passer tout le reste.
Symétriquement, un rappel de 1,000 s'obtient en déclarant tout positif, ce qui est aussi inutile.
Les deux se rapportent donc ensemble, avec le seuil auquel elles ont été mesurées. Une précision seule, comme un rappel seul, se truque en déplaçant le curseur, sans toucher au modèle.
Faut-il rapporter l'aire sous la courbe ROC ou la courbe précision-rappel ?
Cela dépend entièrement du déséquilibre.
Sur des classes à peu près équilibrées, les deux racontent la même chose et la ROC est plus lisible.
Sur des classes fortement déséquilibrées, la ROC flatte. Le taux de fausses alertes rapporte les FP au nombre de négatifs, qui est immense : cent fausses alertes sur dix mille négatifs donnent 0,01, alors qu'elles noient dix vrais positifs.
Le chapitre le mesure : quand la part de positifs passe de 14 % à 1,9 %, l'aire sous la ROC descend de 0,879 à 0,862 tandis que la précision au rappel 0,80 est divisée par près de trois.
En pratique : rapporter les deux, et faire porter la conclusion par la seconde quand les positifs sont rares.
Sur quelle base fixer le seuil de décision ?
Sur le rapport entre le coût d'un cas manqué et celui d'une fausse alerte, et sur rien d'autre.
Pour un modèle calibré, le seuil optimal vaut . Si un incident manqué coûte vingt fois une fausse alerte, il vaut , et non 0,5.
Le chapitre mesure ce que coûte l'inattention : au seuil par défaut de 0,50, le coût total vaut 2,7 fois le minimum. Presque le triple, pour n'avoir pas posé la question.
Et ce rapport de coûts n'est jamais connu de l'équipe de modélisation. Il faut aller le chercher auprès de ceux qui subissent les deux erreurs, et cela relève d'une conversation, pas d'un calcul.
Optimiser l'exactitude, est-ce raisonnable ?
Presque jamais, et le chapitre en donne le contre-exemple le plus net.
Sur le modèle affaibli de la seconde figure, l'exactitude atteint son maximum de 0,800 exactement au seuil où le modèle ne déclare plus rien du tout : zéro vrai positif, douze cas manqués. Optimiser l'exactitude conduit donc à choisir le réglage qui rend le modèle inerte.
La raison est que l'exactitude additionne les deux erreurs comme si elles pesaient pareil, alors que sur des classes déséquilibrées les négatifs écrasent tout.
Optimiser plutôt un coût exprimé dans l'unité du problème, ou à défaut un F1, en rapportant toujours la matrice complète à côté.
Deux modèles ont la même aire sous la ROC. Sont-ils interchangeables ?
Non. L'aire résume le classement, et deux classements identiques peuvent s'accompagner de scores très différents.
Le premier peut être bien calibré, ses scores annonçant les bonnes fréquences ; le second peut les écraser vers zéro. L'aire est la même, mais le second est inutilisable dès qu'on multiplie son score par un montant, qu'on additionne des risques, ou qu'on fixe un seuil par un rapport de coûts.
L'aire est aussi un résumé global : deux courbes de même aire peuvent se croiser, l'une étant meilleure à faible rappel et l'autre à fort rappel. Si le régime d'usage est connu, c'est la performance dans ce régime qu'il faut comparer, pas l'aire.
Enfin, l'aire ignore le coût des erreurs, le coût de calcul, la stabilité et le besoin d'expliquer.
1.Sur un problème où 4 % des cas sont positifs, un modèle affiche 96 % d'exactitude. Cela signifie…
2.Que ne regarde jamais la précision ?
3.Déplacer le seuil de décision…
4.Pourquoi préférer la courbe précision-rappel quand les positifs sont rares ?
5.Un incident manqué coûte vingt fois une fausse alerte. Quel seuil viser pour un modèle calibré ?
6.Quand la calibration d'un score est-elle indispensable ?
La méthode
- Commencer par le taux de base, et refuser toute exactitude annoncée sans lui.
- Rapporter la matrice de confusion entière, pas un chiffre unique.
- Donner précision et rappel ensemble, avec le seuil auquel ils ont été mesurés.
- Tracer les deux courbes, ROC et précision-rappel, et conclure sur la seconde quand les positifs sont rares.
- Aller demander le rapport de coûts entre un cas manqué et une fausse alerte.
- En déduire le seuil, au lieu de garder 0,5.
- Vérifier la calibration dès que le score sert à un calcul et non à un tri.
- Mesurer tout cela sur le jeu de test, une seule fois, comme au chapitre 7.
Synthèse
- L'exactitude ne mesure rien sans le taux de base : ici un modèle inerte obtient 86 %.
- La matrice de confusion distingue les deux erreurs, qui n'ont ni le même coût ni la même fréquence.
- La précision ignore les manqués, le rappel ignore les fausses alertes ; chacune seule se truque.
- Le seuil n'appartient pas au modèle : les scores sont fixes, la décision est un choix.
- Baisser le seuil échange des manqués contre des fausses alertes, jamais l'inverse.
- Un modèle dont les scores plafonnent à 0,45 ne déclare rien au seuil par défaut, avec une exactitude à son maximum.
- L'aire sous la ROC est la probabilité qu'un positif soit mieux noté qu'un négatif ; elle est aveugle au déséquilibre.
- La courbe précision-rappel a pour plancher le taux de base et voit ce que la ROC masque.
- Le seuil optimal vaut pour un modèle calibré ; garder 0,5 coûte ici 2,7 fois le minimum.
- Un score calibré annonce la bonne fréquence ; cela ne compte pas pour trier, cela compte pour calculer.
- Une même aire peut recouvrir des scores très différents : elle résume le classement, et rien d'autre.
Mettre en pratique
Lire une matrice de confusion, et ne pas confondre précision et rappel.
- Lire une matrice de confusionNiveau 2
- Combiner précision et rappelNiveau 2
- Débogage : précision et rappel confondusNiveau 3