- Propriétés du test. Sensibilité = P(test + | malade), spécificité = P(test − | sain) : deux probabilités conditionnées par la vérité, mesurées une fois pour toutes sur le test lui-même (p00-03).
- VPP et base rate. P(malade | test +) n'est pas la sensibilité : Bayes y fait entrer la prévalence, et quand elle est faible la VPP s'effondre même avec un très bon test (p00-03). Ici la précision est cette VPP.
- Une proportion a un SE. p = k/n sur n tirages Bernoulli a pour erreur-type √(p(1−p)/n) — reste à savoir quel n (p01-01).
La chaîne
Le décor
Le modèle ne dit pas « fraude ». Il sort un score continu, par exemple une probabilité. Quelqu'un — pas le modèle — pose un seuil, et la décision devient « score ≥ seuil ».
À partir de là, une vérité binaire croise une décision binaire : quatre cases, et rien d'autre à regarder.
« Un classifieur sort un score, donc la décision naît d'un seuil posé par quelqu'un, donc tout ce qu'on mesure sur les décisions est indexé par ce seuil et non par le modèle seul. »
Un mois de transactions : 100 000 lignes, dont 300 fraudes. Prévalence π = 300/100 000 = 0,3 % ; 99 700 transactions légitimes.
Au seuil que l'équipe utilise aujourd'hui, le modèle déclare 1 200 transactions suspectes. Parmi elles 240 sont de vraies fraudes.
Ces quatre nombres tiennent toute la suite : les huit métriques qu'on va écrire n'ajoutent aucune information, elles en choisissent une.
La matrice, en effectifs tronc
Lignes = vérité, colonnes = décision. TP et FN sont sur la ligne des 300 positifs ; FP et TN sur celle des 99 700 négatifs. Les totaux de lignes sont fixés par les données ; les totaux de colonnes, eux, bougent avec le seuil.
« Une décision binaire contre une vérité binaire donne quatre cases, donc chaque métrique est une case divisée par une somme de cases, donc il faut dire laquelle avant de la lire. »
| décidé positif | décidé négatif | total (vérité) | |
|---|---|---|---|
| fraude | TP = 240 | FN = 60 | 300 |
| légitime | FP = 960 | TN = 98 740 | 99 700 |
| total (décision) | 1 200 | 98 800 | 100 000 |
En effectifs, pas en pourcentages : c'est en effectifs qu'on voit que 960 faux positifs écrasent 240 vrais, et que 60 fraudes passent au travers.
Nommer la case avant le mot : « 240 vraies fraudes détectées sur 300 » est une ligne, « 240 vraies sur 1 200 déclarées » est une colonne. Ce sont deux métriques différentes.
Les deux courbes sont les scores des légitimes (99 700) et des fraudes (300), chacune ramenée à son propre maximum — sans quoi celle des fraudes serait 332 fois plus basse et invisible. Le trait vertical est le seuil ; tout ce qui est à sa droite est déclaré positif. Baisse le seuil et regarde quelles cases bougent : TP et FP montent ensemble, FN et TN descendent. Le repère à battre n'est pas 50 % mais le trivial à 99,70 % — l'accuracy passe au rouge dès qu'elle est en dessous.
Les « rates » regardent une ligne de vérité
TPR (= rappel = sensibilité) divise par la ligne des vrais positifs ; FPR divise par la ligne des vrais négatifs. Chaque ligne est normalisée par son propre total, donc la taille relative des deux lignes n'entre nulle part : ces deux nombres ne dépendent pas de la prévalence.
Ce sont exactement les propriétés du test de p00-03 : TPR = sensibilité, FPR = 1 − spécificité.
« Une rate divise par le total de sa ligne, donc elle est calculée à l'intérieur d'une classe, donc changer la taille des classes ne la change pas. »
Rappel = 240/300 = 0,800 · FPR = 960/99 700 = 0,0096 · spécificité = 98 740/99 700 = 0,9904 = 1 − FPR.
Test de transport. Double le nombre de légitimes sans toucher au modèle ni au seuil : 199 400 négatifs produisent ≈ 1 920 FP au même taux d'erreur. FPR = 1 920/199 400 = 0,0096, inchangé ; le rappel n'a pas bougé non plus, la ligne des positifs n'a pas changé.
C'est ce qui rend les rates comparables entre deux jeux de données et deux équipes — et ce qui les rend, seules, insuffisantes pour décider.
La précision regarde une colonne — sans TN tronc
Précision = TP/(TP + FP) : le dénominateur est la colonne « déclaré positif ». Les TN n'y figurent pas — c'est la seule métrique courante qui ignore une case entière.
Or les FP sont prélevés sur la classe majoritaire. Un taux d'erreur de 1 % sur 99 700 négatifs fabrique déjà 960 faux positifs, contre 240 vrais au mieux. La précision dépend donc de la prévalence : c'est la VPP de p00-03, réécrite avec les cases.
« La précision divise par une colonne de décision où les négatifs entrent par leurs faux positifs, donc plus les négatifs sont nombreux plus la précision baisse, donc elle ne se transporte pas d'une population à l'autre. »
Précision = 240/1 200 = 0,200. Sur 5 alertes, 1 est une vraie fraude.
À TPR = 0,800 et FPR = 0,0096 figés — le modèle et le seuil ne changent pas :
| prévalence π | précision | lecture |
|---|---|---|
| 0,3 % (le fil rouge) | 0,200 | 1 alerte sur 5 |
| 5 % | 0,814 | 4 alertes sur 5 |
| 50 % | 0,988 | presque toutes |
Le modèle est identique dans les trois lignes. Annoncer une précision sans annoncer la prévalence, c'est annoncer un nombre sans son unité.
L'accuracy et le modèle trivial
Accuracy = (TP + TN)/n. Quand la classe positive est rare, TN pèse presque tout le numérateur : le score mesure surtout la capacité à dire « non ».
Le plancher n'est donc pas 50 % mais 1 − π, atteint par le modèle trivial qui répond toujours « négatif ». Toute accuracy se lit contre ce témoin, jamais dans l'absolu.
« L'accuracy est dominée par les vrais négatifs quand la classe positive est rare, donc son plancher est 1 − prévalence et non un demi, donc 98,98 % à 0,3 % de fraude est en dessous du modèle qui ne détecte rien. »
Accuracy = (240 + 98 740)/100 000 = 98 980/100 000 = 98,98 %.
Trivial « jamais fraude » : 99 700/100 000 = 99,70 %, avec un rappel de 0. Il ne détecte aucune fraude et gagne de 0,72 point.
Pire. Remonter le seuil améliore l'accuracy : à un seuil plus haut le modèle ne déclare plus que 239 suspects (TP = 155, FP = 84) et atteint 99,77 % — en laissant passer 145 fraudes sur 300. L'accuracy récompense ici le silence.
Conclusion opérationnelle : à 0,3 % de prévalence, l'accuracy n'est pas une mauvaise métrique, c'est une métrique sans contenu. On ne la cite qu'accompagnée du trivial.
Le seuil bouge tout dans un sens connu tronc
Baisser le seuil, c'est déclarer positives des lignes qui ne l'étaient pas — jamais l'inverse. Des effectifs passent de la colonne négative vers la colonne positive : TP ↑, FP ↑, FN ↓, TN ↓, de façon monotone.
Donc rappel ↑ et FPR ↑ ensemble. La précision descend en général : elle ne monterait que si les lignes nouvellement déclarées étaient majoritairement vraies, ce que le classement rend rare.
Le seuil est un choix métier — coût d'un FN contre coût d'un FP (p06-04) — pas une propriété du modèle.
« Baisser le seuil déplace des lignes de la colonne négative vers la colonne positive, donc TP et FP montent ensemble, donc le rappel et le FPR montent et la précision descend. »
| seuil | TP / FN | FP | rappel | précision | accuracy |
|---|---|---|---|---|---|
| haut | 155 / 145 | 84 | 0,517 | 0,649 | 99,77 % |
| courant | 240 / 60 | 960 | 0,800 | 0,200 | 98,98 % |
| bas | 285 / 15 | 6 153 | 0,950 | 0,044 | 93,83 % |
| très bas | 298 / 2 | 22 881 | 0,993 | 0,013 | 77,12 % |
Une seule colonne monte quand le seuil descend : le rappel. Passer de 0,800 à 0,950 de rappel coûte 5 193 faux positifs de plus, soit autant d'enquêtes humaines. C'est ce prix-là qu'un seuil arbitre, et aucune métrique ne le fixe à la place de l'équipe.
ROC : TPR contre FPR, pour tous les seuils
Plutôt que de figer le seuil, on le fait glisser de +∞ à −∞ et on trace le point (FPR, TPR). Une courbe par modèle, de (0,0) à (1,1).
Les deux axes sont des rates, donc la courbe ne dépend pas de la prévalence. L'aire sous la courbe a une lecture exacte :
C'est une métrique de classement, pas de décision : elle résume le modèle sans qu'aucun seuil ne soit choisi. Diagonale = hasard, AUC = 0,5.
« La ROC porte deux rates, donc elle ne dépend pas de la prévalence, donc son aire compare le classement de deux modèles sans qu'aucun seuil ne soit choisi. »
Le point courant est (FPR = 0,0096 ; TPR = 0,800), très près de l'axe des ordonnées : 960 faux positifs ne pèsent presque rien rapportés aux 99 700 légitimes.
AUC ≈ 0,988 : sur une paire tirée au hasard (une fraude, une transaction légitime), le modèle donne le score le plus élevé à la fraude 98,8 fois sur 100. Le classement est excellent — et la précision reste à 0,20. Les deux énoncés sont vrais en même temps.
Rapprocher les deux distributions de scores dégrade le classement : l'AUC glisse vers 0,5 et la courbe s'écrase sur la diagonale, sans qu'aucun seuil n'ait été touché.
Le point rouge est le seuil courant, posé sur la courbe : bouge-le et tu parcours la courbe sans la déformer — la ROC est l'ensemble des seuils. La seconde glissière écarte ou rapproche les deux distributions de scores : c'est elle, et elle seule, qui déforme la courbe et change l'AUC. « Mélanger les scores » les superpose et colle la courbe à la diagonale (AUC 0,5).
PR : précision contre rappel
Même balayage du seuil, autres axes : la précision en fonction du rappel. La prévalence est au dénominateur de la précision, donc toute la courbe se déplace quand elle change.
La baseline n'est pas la diagonale mais l'horizontale à π : un classement au hasard a pour précision la prévalence, 0,003 ici.
Quand la classe positive est rare et que c'est elle la cible, la ROC flatte — 960 FP donnent un FPR de 0,0096, un écrasement contre l'axe — là où la PR montre 0,20. Règle : classe rare visée et faux positifs coûteux ⇒ PR ; comparaison de classements ⇒ ROC.
« La précision porte la prévalence à son dénominateur, donc la courbe PR se déplace quand la prévalence change alors que la ROC reste fixe, donc c'est la PR qu'on lit quand la classe rare est la cible. »
Point courant : rappel 0,800, précision 0,200. Rapporté à la baseline 0,003, le modèle fait 67 fois mieux que le hasard — et produit quand même 4 fausses alertes sur 5.
Les deux courbes lues ensemble : AUC 0,988 dit « le classement est presque parfait », PR dit « la décision à ce seuil noie 240 vraies fraudes dans 960 fausses ». La première juge le modèle, la seconde juge ce qu'on en fait.
Et si la même équipe déploie sur un flux à 5 % de fraude sans rien changer : la ROC est identique, la PR remonte, la précision passe à 0,814. Le modèle n'a pas progressé — la population a changé (H2).
Les deux courbes dans le même carré unité — c'est possible parce que les quatre axes vont de 0 à 1 : la ROC porte TPR contre FPR, la PR porte la précision contre le rappel. Les points marquent le seuil du fil rouge sur chacune. Fais varier la prévalence : la ROC et son aire ne bougent pas d'un pixel, la PR et sa baseline en pointillé montent ou s'effondrent. Même modèle, même seuil, verdict opposé.
Barres d'erreur : quel n ?
Le rappel est une proportion sur les 300 positifs, pas sur les 100 000 lignes : c'est n = 300 qui entre dans le SE. La précision est une proportion sur les 1 200 déclarés positifs.
Collecter 900 000 transactions de plus ne resserre le rappel que si elles apportent des fraudes : seul le dénominateur de la métrique compte (p01-01).
« Le rappel est une Bernoulli sur les seuls positifs, donc son n vaut 300 et non 100 000, donc son SE vaut 0,023 et deux modèles séparés de trois points de rappel ne sont pas distingués. »
Rappel 240/300 : SE = √(0,80 · 0,20/300) = √0,000533 = 0,023. IC 95 % ≈ 0,80 ± 1,96 · 0,023 = [0,755 ; 0,845].
Précision 240/1 200 : SE = √(0,20 · 0,80/1 200) = 0,0115. IC 95 % ≈ [0,177 ; 0,223].
Verdict. Un modèle B à 0,83 de rappel contre 0,80 : l'écart vaut 0,03, soit 1,3 SE du seul rappel A — et les deux rappels sont mesurés sur les mêmes 300 fraudes, donc corrélés. Rien n'est tranché.
Les 300 positifs sont le budget statistique réel de l'évaluation. C'est eux qu'il faut compter avant d'annoncer une amélioration, pas les 100 000 lignes.
Où ça casse casse
Chaque métrique fixe une case au numérateur et une population au dénominateur. Changer la population change le chiffre sans que le modèle ait bougé.
« Chaque métrique choisit une population au dénominateur, donc changer la population change la métrique sans que le modèle ait bougé, donc on annonce toujours la prévalence avec la précision et le témoin trivial avec l'accuracy. »
- Prévalence du test ≠ prévalence de production. Un test sous-échantillonné à 50 % de fraudes affichera 0,988 de précision pour 0,200 en production (pas 4). TPR et FPR, eux, se transportent : ré-estimer la précision avec la prévalence cible par la formule de Bayes plutôt que la mesurer sur un jeu rééquilibré.
- AUC élevée, précision nulle. 0,988 d'AUC et 0,20 de précision coexistent sans contradiction : l'AUC compare des paires, la précision compte des décisions. Une AUC seule ne dit jamais si le système est déployable.
- F1. Moyenne harmonique de la précision et du rappel à un seuil : il hérite donc de la dépendance au seuil et à la prévalence, et ignore les TN comme la précision. Utile pour résumer deux nombres en un, jamais pour choisir un seuil sans coûts explicites.
- Métriques en marches. Accuracy, F1, rappel à un seuil sont constants par morceaux : leur pente est nulle presque partout, donc on n'apprend pas avec — on évalue avec. C'est le même argument qu'en p03-01 et au pont 05.
Résumé
- Un score ne devient une décision que par un seuil. Quatre cases en effectifs ; chaque métrique est une case sur une somme de cases, à nommer avant de la lire.
- Rates (TPR, FPR) : dénominateur = une ligne de vérité, donc indépendantes de la prévalence. Précision : dénominateur = une colonne de décision, sans TN, donc dépendante de la prévalence — c'est la VPP.
- Accuracy dominée par les TN : plancher 1 − π. Ici 98,98 % contre 99,70 % pour le trivial — pire que rien.
- Baisser le seuil : TP ↑ FP ↑, FN ↓ TN ↓, donc rappel ↑ FPR ↑ précision ↓. Le seuil est un arbitrage de coûts, pas une propriété du modèle.
- ROC = classement, AUC = P(s+ > s−), insensible à la prévalence. PR = décision, baseline = π, à préférer quand la classe rare est la cible.
- Barres d'erreur : le n du rappel est le nombre de positifs (300 ⇒ SE 0,023), celui de la précision le nombre de déclarés positifs (1 200 ⇒ SE 0,0115). Trois points d'écart sont du bruit.
Chaîne verbalisée — une prise, à voix haute
- 98,98 % d'accuracy à 0,3 % de prévalence : verdict ?Pire que le trivial « jamais fraude » (99,70 %), qui a un rappel de 0. À cette prévalence l'accuracy ne dit rien : on la cite avec son témoin.
- Quelles métriques ne dépendent pas de la prévalence, et pourquoi ?TPR et FPR : leur dénominateur est une ligne de vérité, chaque ligne normalisée par son propre total. Ce sont sensibilité et 1 − spécificité.
- Pourquoi la précision en dépend-elle ?Elle divise par une colonne de décision (TP + FP), sans TN ; les FP sont prélevés sur la classe majoritaire. C'est la VPP : π·TPR / (π·TPR + (1−π)·FPR).
- Que fait baisser le seuil ?TP ↑ et FP ↑, FN ↓ et TN ↓ ; donc rappel ↑, FPR ↑, précision ↓. Ici 0,80 → 0,95 de rappel coûte 5 193 faux positifs de plus.
- Que mesure l'AUC, et quand préférer la PR ?P(score d'un positif > score d'un négatif) : un classement, sans seuil ni prévalence. PR dès que la classe rare est la cible et que les FP coûtent — baseline = π, pas la diagonale.
- SE du rappel 240/300 ?√(0,80 · 0,20/300) = 0,023 : n = les 300 positifs, pas les 100 000 lignes. IC ≈ [0,755 ; 0,845].
Ponts et cartes
ml::metriques (les quatre cases, nommer le dénominateur) · ml::roc-auc (AUC = P(s+ > s−), insensible à la prévalence) · ml::precision-rappel (précision sans TN, baseline PR = π) · ml::desequilibre (accuracy contre le trivial, précision en production).
Une carte qui résiste après cette chaîne est une carte à refondre, pas une section à relire.