Fiche d’exercices 6
Fiche d’exercices — Séance 6 : la classification
Introduction au ML – Dr. El Hadji Bassirou TOURÉ – DMI \(\cdot\) FST \(\cdot\) UCAD \(\bullet\) Travail à la main, sans machine
Cette fiche reprend, exercice par exercice, les calculs de la Séance 6 : le score logistique passé dans la sigmoïde, la log-loss, la matrice de confusion et ses métriques, le seuil comme curseur, la courbe ROC et l’AUC construites à la main, puis le déséquilibre de classes et le choix de la métrique. Répondre directement sur la fiche.
Aides numériques (valables pour toute la fiche). Table de la sigmoïde \(\sigma(z)=1/(1+e^{-z})\) :
| \(z\) | \(-3\) | \(-2\) | \(-1\) | \(0\) | \(1\) | \(2\) | \(3\) |
|---|---|---|---|---|---|---|---|
| \(\sigma(z)\) | \(0{,}047\) | \(0{,}119\) | \(0{,}269\) | \(0{,}500\) | \(0{,}731\) | \(0{,}881\) | \(0{,}953\) |
Logarithmes : \(\ln 0{,}9=-0{,}105\) ; \(\ln 0{,}8=-0{,}223\) ; \(\ln 0{,}7=-0{,}357\) ; \(\ln 0{,}6=-0{,}511\) ; \(\ln 0{,}4=-0{,}916\) ; \(\ln 0{,}3=-1{,}204\) ; \(\ln 0{,}2=-1{,}609\) ; \(\ln 0{,}1=-2{,}303\).
Exercice 1 – Du score à la probabilité, puis à la décision
Un modèle logistique a appris, sur des variables standardisées (âge, glycémie, fièvre), l’intercept \(b=-1{,}2\) et les poids \(\mathbf w = (0{,}6;\ -0{,}4;\ 1{,}0)\). Une patiente a pour valeurs standardisées \(\mathbf x = (1{,}0;\ 1{,}5;\ 0{,}2)\).
- Calculer le score \(z = b + \mathbf w\cdot\mathbf x\) terme à terme, puis la probabilité \(\hat p = \sigma(z)\) (table).
Espace de calcul :
\(z =\) \(\hat p =\)
Donner la décision au seuil \(0{,}5\), puis au seuil \(0{,}2\). seuil \(0{,}5\) : \(\hat y=\) seuil \(0{,}2\) : \(\hat y=\)
Le poids de la glycémie est négatif. Que signifie ce signe, « toutes choses égales par ailleurs » ?
- Trois autres patients ont les scores \(z=+3\), \(z=0\), \(z=-2\). Pour lequel le modèle est-il le plus incertain ? Pourquoi ?
Exercice 2 – La log-loss à la main
Quatre prédictions sont jugées par la log-loss \(J = -\frac{1}{n}\sum_i\big[y_i\ln\hat p_i + (1-y_i)\ln(1-\hat p_i)\big]\).
| patient | \(\hat p_i\) | \(y_i\) | terme qui survit | perte |
|---|---|---|---|---|
| A | \(0{,}7\) | \(1\) | ||
| B | \(0{,}4\) | \(1\) | ||
| C | \(0{,}2\) | \(0\) | ||
| D | \(0{,}9\) | \(0\) |
- Remplir le tableau (quel terme survit, et la perte de chaque patient). (b) Calculer la log-loss moyenne.
Espace de calcul :
\(J =\)
- Quel patient coûte le plus cher ? Qu’est-ce que la log-loss punit, que l’accuracy ne voit pas ?
Exercice 3 – La matrice de confusion
Huit patients de dépistage à Kolda, triés par probabilité prédite décroissante (P \(=\) paludisme, \(y=1\)) :
| patient | \(1\) | \(2\) | \(3\) | \(4\) | \(5\) | \(6\) | \(7\) | \(8\) |
|---|---|---|---|---|---|---|---|---|
| \(\hat p_i\) | \(0{,}95\) | \(0{,}85\) | \(0{,}70\) | \(0{,}55\) | \(0{,}45\) | \(0{,}35\) | \(0{,}20\) | \(0{,}10\) |
| réalité \(y_i\) | \(1\) | \(1\) | \(1\) | \(0\) | \(0\) | \(1\) | \(1\) | \(0\) |
Ce jeu sert aux Exercices 3, 4 et 5.
- Au seuil \(0{,}5\), écrire la décision \(\hat y_i\) et la case (TP, FP, FN, TN) de chaque patient.
| patient | \(1\) | \(2\) | \(3\) | \(4\) | \(5\) | \(6\) | \(7\) | \(8\) |
|---|---|---|---|---|---|---|---|---|
| \(\hat y_i\) (seuil \(0{,}5\)) | ||||||||
| case |
- Compléter la matrice, puis calculer accuracy, precision, recall et F1.
| prédit \(1\) | prédit \(0\) | |
|---|---|---|
| réel \(1\) | TP \(=\) | FN \(=\) |
| réel \(0\) | FP \(=\) | TN \(=\) |
accuracy \(=\) precision \(=\)
recall \(=\) F1 \(=\)
Espace de calcul :
- Traduire la precision et le recall en une phrase chacun, dans la langue d’un agent de santé.
Exercice 4 – Le seuil, un curseur
Même jeu de huit patients (Exercice 3). Le modèle ne change pas ; seul le seuil passe de \(0{,}5\) à \(0{,}3\).
Quels patients changent de décision ?
Recalculer TP, FP, FN, TN, puis precision, recall et F1 au seuil \(0{,}3\).
Espace de calcul :
TP \(=\) FP \(=\) FN \(=\) TN \(=\) precision \(=\) recall \(=\) F1 \(=\)
- Pour une campagne dont la consigne est « ne manquer presque aucun cas », quel seuil préférer ? Quelle métrique accepte-t-on de sacrifier ?
Exercice 5 – Construire la ROC et calculer l’AUC à la main
Même jeu (Exercice 3) : \(5\) positifs, \(3\) négatifs. On abaisse le seuil juste sous chaque \(\hat p_i\), dans l’ordre décroissant.
- Compléter le tableau : chaque positif fait monter, chaque négatif pousse à droite.
| le seuil passe sous | départ | \(0{,}95\) | \(0{,}85\) | \(0{,}70\) | \(0{,}55\) | \(0{,}45\) | \(0{,}35\) | \(0{,}20\) | \(0{,}10\) |
|---|---|---|---|---|---|---|---|---|---|
| TPR (sur \(5\)) | \(0\) | ||||||||
| FPR (sur \(3\)) | \(0\) |
- Tracer la courbe (escalier) dans le repère ci-dessous.
- Calculer l’AUC par les paires : nombre de paires (positif, négatif), nombre de paires mal ordonnées (négatif au-dessus d’un positif), puis AUC.
Espace de calcul :
paires \(=\) mal ordonnées \(=\) AUC \(=\)
- L’AUC dépend-elle du seuil ? Que juge-t-elle exactement ?
Exercice 6 – La classe rare et l’accuracy trompeuse
À Tambacounda, \(1\,000\) patients sont dépistés ; \(50\) sont réellement malades.
- Un « modèle » répond toujours « sain ». Calculer son accuracy, son recall et sa precision.
Espace de calcul :
accuracy \(=\) recall \(=\) precision \(=\)
- Un vrai modèle affiche accuracy \(0{,}93\), recall \(0{,}60\). Est-il pire que le précédent ? Justifier.
- Trois modèles affichent AUC \(=0{,}50\), \(0{,}88\) et \(0{,}25\). Interpréter chacun.
- Que fait
class_weight="balanced"à l’entraînement, et que ne change-t-il pas au jeu de test ?
Exercice 7 – Une métrique pour chaque mission
- Pour chaque situation, choisir la métrique à privilégier (precision, recall, F1 ou AUC) et justifier.
| situation | métrique | raison |
|---|---|---|
| Dépistage du paludisme, test de confirmation bon marché. | ||
| Envoi d’une équipe mobile coûteuse à chaque alerte. | ||
| Comparer deux modèles avant d’avoir fixé le seuil. |
- Un collègue règle le seuil en choisissant celui qui maximise la F1 sur le jeu de test, puis annonce cette F1. Qu’est-ce qui ne va pas ? Comment faire proprement ?
Pour cette séance
Le cours
À lire en ligne