Fiche d’exercices 6

Fiche d’exercices de la séance 6 d’Introduction au Machine Learning.
Auteurs

Dr. El Hadji Bassirou TOURÉ · DMI/FST/UCAD

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)\).

  1. 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 =\)

  1. Donner la décision au seuil \(0{,}5\), puis au seuil \(0{,}2\). seuil \(0{,}5\) : \(\hat y=\) seuil \(0{,}2\) : \(\hat y=\)

  2. Le poids de la glycémie est négatif. Que signifie ce signe, « toutes choses égales par ailleurs » ?

  1. 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\)
  1. Remplir le tableau (quel terme survit, et la perte de chaque patient). (b) Calculer la log-loss moyenne.

Espace de calcul :

\(J =\)

  1. 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.

  1. 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
  1. 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 :

  1. 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\).

  1. Quels patients changent de décision ?

  2. Recalculer TP, FP, FN, TN, puis precision, recall et F1 au seuil \(0{,}3\).

Espace de calcul :

TP \(=\) FP \(=\) FN \(=\) TN \(=\) precision \(=\) recall \(=\) F1 \(=\)

  1. 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.

  1. 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\)
  1. Tracer la courbe (escalier) dans le repère ci-dessous.

✲ ✻ 0 1 32 3 10 , 20 , 40 , 60 , 81 FPRTPR

  1. 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 \(=\)

  1. 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.

  1. Un « modèle » répond toujours « sain ». Calculer son accuracy, son recall et sa precision.

Espace de calcul :

accuracy \(=\) recall \(=\) precision \(=\)

  1. Un vrai modèle affiche accuracy \(0{,}93\), recall \(0{,}60\). Est-il pire que le précédent ? Justifier.

  1. Trois modèles affichent AUC \(=0{,}50\), \(0{,}88\) et \(0{,}25\). Interpréter chacun.

  1. 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

  1. 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.
  1. 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

Retour au sommet