Aller au contenu principal

Chargement du lab visuel…

#metriques-classificationApprentissage supervisé

Précision, rappel, F1, matrice de confusion, ROC et AUC : lire honnêtement un classifieur, surtout quand les classes sont déséquilibrées.

Ce que tu vas manipuler

  1. Bienvenue dans #metriques-classification. À gauche, les scores qu'un modèle a donnés à 600 exemples : les négatifs en bleu, les positifs en rose (30 % du total), et une lame jaune posée à 0.5 : le seuil. Au milieu, la matrice de confusion qui en découle : vrais positifs (vert), vrais négatifs (bleu), faux positifs (jaune), faux négatifs (rouge). Un modèle ne répond jamais « oui » ou « non » : il donne un score, et c'est toi qui choisis où couper. Toute la suite consiste à voir ce que ce choix coûte.
  2. Monte le seuil : tape /seuil 0.8. La lame jaune glisse vers la droite : presque plus aucun négatif ne passe… mais beaucoup de positifs restent en dessous.
  3. Fais l'inverse : /seuil 0.2. Cette fois on attrape presque tous les positifs… et une foule de négatifs avec eux.
  4. Chaque seuil est donc un compromis différent. Pour les voir tous d'un coup, trace la courbe ROC : /roc.
  5. Passons à un cas réel : la fraude, une maladie rare, une panne… Ne garde que 5 % de positifs : /desequilibre 0.05.
  6. Où couper, alors ? Laisse la machine chercher le seuil qui maximise F1 : /optimiser f1.
  7. Le seul vrai remède, c'est un meilleur modèle. Écarte les deux distributions : /separation 2.5.
  8. À toi de jouer : /precision-rappel pour la courbe précision-rappel (plus honnête que la ROC quand les positifs sont rares), /optimiser youden pour le seuil qui maximise TPR − FPR, /bruit 0.25 pour un modèle plus hésitant, /desequilibre 0.5 pour des classes équilibrées, /n 2000 pour lisser les histogrammes, /graine 42 pour un autre tirage, /reinit pour repartir. Ensuite : #regression-logistique, où l'on fabrique ces scores, et #sur-apprentissage, où l'on apprend à ne pas se mentir sur les données d'entraînement.

Commandes du canal

  • /seuil <0..1>Déplace le seuil de décision : positif si score ≥ seuil.
  • /separation <0..3>Qualité du modèle : écart entre les scores des deux classes.
  • /desequilibre <0.05..0.5>Prévalence des positifs : 0.05 = classe rare, 0.5 = classes équilibrées.
  • /rocAffiche ou masque la courbe (ROC ou précision-rappel) à droite.
  • /precision-rappelBascule entre la courbe ROC et la courbe précision-rappel.
  • /optimiser <f1|precision|rappel|youden>Place le seuil qui optimise le critère choisi.
  • /n <100..2000>Nombre d'exemples simulés (nouveau tirage).
  • /bruit <0.05..0.3>Écart-type σ des scores : plus il est grand, plus les classes se recouvrent.
  • /graine <1..99>Autre tirage aléatoire, mêmes paramètres.
  • /reinitRevient au seuil 0.5, séparation 1.5, prévalence 0.3, 600 exemples, courbe masquée.

Glossaire

Seuil de décision
Valeur t au-dessus de laquelle un score est déclaré positif. Le modèle ne le choisit pas : c'est un curseur métier qui échange des faux positifs contre des faux négatifs, et chaque position du curseur donne une matrice de confusion différente.
Matrice de confusion
Tableau 2×2 qui croise la réalité et la prédiction : vrais positifs (TP, positifs bien détectés), vrais négatifs (TN), faux positifs (FP, fausses alertes) et faux négatifs (FN, positifs ratés). Toutes les métriques de classification se lisent dans ces quatre cases.
Précision
Parmi les exemples prédits positifs, la part qui l'est vraiment : TP / (TP + FP). Elle mesure la fiabilité d'une alerte ; on la privilégie quand une fausse alerte coûte cher (spam, modération).
Rappel (sensibilité)
Parmi les vrais positifs, la part que le modèle retrouve : TP / (TP + FN). C'est aussi le taux de vrais positifs (TPR), l'ordonnée de la courbe ROC ; on le privilégie quand rater un positif coûte cher (dépistage, fraude).
Spécificité
Parmi les vrais négatifs, la part correctement laissée de côté : TN / (TN + FP). Son complément 1 − spécificité est le taux de faux positifs (FPR), l'abscisse de la courbe ROC.
F1-score
Moyenne harmonique de la précision et du rappel : 2·P·R / (P + R). Elle n'est élevée que si les deux le sont, et elle ignore les vrais négatifs : c'est la métrique à lire quand la classe positive est rare.
Exactitude (accuracy)
Part des prédictions correctes : (TP + TN) / n. Trompeuse dès que les classes sont déséquilibrées : avec 5 % de positifs, répondre « négatif » partout obtient 95 % sans rien détecter.
Courbe ROC et AUC
Courbe du taux de vrais positifs en fonction du taux de faux positifs pour tous les seuils possibles ; la diagonale est le hasard. L'AUC (aire sous la courbe) note le classement indépendamment du seuil : probabilité qu'un positif reçoive un score plus élevé qu'un négatif, 0.5 = hasard, 1 = parfait.
Courbe précision-rappel
Précision en fonction du rappel pour tous les seuils. Comme elle ignore les vrais négatifs, elle reste sévère quand les positifs sont rares, là où la ROC flatte le modèle ; sa ligne de base est la prévalence, pas la diagonale.
Déséquilibre des classes
Situation où une classe est bien plus fréquente que l'autre (fraude, maladie rare, panne). L'exactitude devient inutilisable ; on lit plutôt précision, rappel, F1 ou la courbe précision-rappel, et l'on choisit le seuil en connaissance de cause.

Autres canaux du thème Apprentissage supervisé

  • #entrainement-liveSix algorithmes qui apprennent sous tes yeux, comme une vidéo : REC, timecode, sous-titres, métriques en direct. Regarder est gratuit ; toucher au modèle est Premium.
  • #regression-lineaireAjuster une droite : moindres carrés, résidus, MSE, R² et descente de gradient — la première brique de tout apprentissage supervisé.
  • #regression-logistiqueClasser en deux catégories : sigmoïde, frontière de décision, seuil et log-loss — et pourquoi une droite ne suffit pas toujours.
  • #arbres-de-decisionUn arbre qui découpe le plan en rectangles : Gini, entropie, profondeur, élagage — et le sur-apprentissage qu'on voit à l'œil nu.
  • #knnLes k plus proches voisins : classer par ressemblance, choisir k, changer de distance — et voir la frontière se lisser ou se déchirer.
  • #svm-margesMachines à vecteurs de support : la plus large marge possible, le paramètre C, et le noyau RBF qui courbe la frontière.
  • #metriques-classificationPrécision, rappel, F1, matrice de confusion, ROC et AUC : lire honnêtement un classifieur, surtout quand les classes sont déséquilibrées.