La source de vérité dont dérivent tous les indicateurs de performance : du cas binaire au cas multi-classes, avec précision et rappel calculés par catégorie.
Tous les indicateurs du chapitre précédent (accuracy, précision, rappel, F1, spécificité) se calculent à partir d'un seul et même tableau : la matrice de confusion. Elle croise les classes réelles (en lignes) et les classes prédites (en colonnes), dénombrant chaque combinaison possible.
Pour deux classes, quatre cases suffisent :
| Prédit négatif | Prédit positif | |
|---|---|---|
| Réel négatif | VN (vrai négatif) | FP (faux positif) |
| Réel positif | FN (faux négatif) | VP (vrai positif) |
Les termes « faux positif » et « faux négatif » qualifient le type d'erreur commise : un faux positif est une fausse alerte (prédit positif à tort), un faux négatif est un cas manqué (prédit négatif à tort).
$$\text{Accuracy}=\frac{\text{VP}+\text{VN}}{\text{VP}+\text{FP}+\text{VN}+\text{FN}}, \quad \text{Précision}=\frac{\text{VP}}{\text{VP}+\text{FP}}, \quad \text{Rappel}=\frac{\text{VP}}{\text{VP}+\text{FN}}$$
Pour la matrice $\begin{pmatrix}\text{VN}=85&\text{FP}=15\\\text{FN}=10&\text{VP}=90\end{pmatrix}$ :
$\text{Accuracy}=\dfrac{90+85}{200}=0{,}875$.
$\text{Précision}=\dfrac{90}{105}\approx0{,}857$. $\text{Rappel}=\dfrac{90}{100}=0{,}9$.
Pour $K$ classes, la matrice devient $K\times K$ : la case $(i,j)$ compte le nombre d'observations de classe réelle $i$ prédites en classe $j$. La diagonale regroupe toutes les prédictions correctes.
$$\text{Accuracy} = \frac{\text{somme de la diagonale}}{\text{somme totale de la matrice}}$$
Pour une matrice à 3 classes $\begin{pmatrix}50&5&2\\4&40&3\\1&6&45\end{pmatrix}$ (total $=156$) :
$\text{Accuracy}=\dfrac{50+40+45}{156}=\dfrac{135}{156}\approx0{,}865$.
En présence de $K\gt2$ classes, précision et rappel se calculent séparément pour chaque classe $i$ : en traitant $i$ comme la classe « positive » et toutes les autres regroupées comme « négative ».
Pour la classe $0$ (première ligne/colonne de la matrice du §4) : $\text{VP}=50$ (diagonale), $\text{FP}=4+1=5$ (somme de la colonne, hors diagonale), $\text{FN}=5+2=7$ (somme de la ligne, hors diagonale).
$\text{Précision}_0=\dfrac{50}{55}\approx0{,}909$. $\text{Rappel}_0=\dfrac{50}{57}\approx0{,}877$ — et l'on procède de même pour les classes $1$ et $2$.
Les cases vertes (diagonale) sont les prédictions correctes ; les cases dorées, les deux types d'erreurs — c'est cette structure simple qui permet de recalculer, à tout moment, l'ensemble des indicateurs du chapitre précédent, clôturant ainsi le panorama complet des méthodes linéaires multivariées.
Pour $\text{VN}=70,\,\text{FP}=10,\,\text{FN}=20,\,\text{VP}=100$, calculer le nombre total d'observations.
$70+10+20+100=200$.
Pour l'exercice 1, calculer l'accuracy.
$\text{Accuracy}=\dfrac{100+70}{200}=0{,}85$.
Pour l'exercice 1, calculer la précision.
$\text{Précision}=\dfrac{100}{110}\approx0{,}909$.
Pour l'exercice 1, calculer le rappel.
$\text{Rappel}=\dfrac{100}{120}\approx0{,}833$.
Un email légitime classé à tort comme spam est-il un FP ou un FN (en considérant « spam » comme la classe positive) ?
Un faux positif (FP, cours §2) : l'email est réellement négatif (non-spam) mais prédit positif (spam) — une fausse alerte.
Un email réellement spam mais laissé dans la boîte de réception est-il un FP ou un FN ?
Un faux négatif (FN) : réellement positif (spam) mais prédit négatif (non-spam) — un cas manqué.
Pour la matrice de confusion à 3 classes $\begin{pmatrix}30&3&2\\5&25&4\\1&2&28\end{pmatrix}$, calculer l'accuracy.
Total $=100$. Diagonale $=30+25+28=83$.
$\text{Accuracy}=83/100=0{,}83$.
Pour la matrice de l'exercice 7, identifier $\text{VP},\,\text{FP},\,\text{FN}$ pour la classe $1$ (deuxième ligne/colonne, indices commençant à 0).
$\text{VP}=25$ (diagonale). $\text{FP}=3+2=5$ (colonne 1, hors diagonale). $\text{FN}=5+4=9$ (ligne 1, hors diagonale).
Un système classe des produits en 3 catégories (A, B, C). Pourquoi la matrice de confusion à 3 classes est-elle plus riche d'information qu'une simple accuracy globale ?
Elle révèle les confusions spécifiques entre paires de catégories (par exemple, si la catégorie A est souvent confondue avec B mais rarement avec C) — une information précieuse pour diagnostiquer les faiblesses du modèle, totalement invisible dans l'accuracy globale seule (cours §4).
Pour l'exercice 8 ($\text{VP}=25,\,\text{FP}=5$), calculer la précision de la classe $1$.
$\text{Précision}_1=\dfrac{25}{30}\approx0{,}833$.
Pour l'exercice 8 ($\text{VP}=25,\,\text{FN}=9$), calculer le rappel de la classe $1$.
$\text{Rappel}_1=\dfrac{25}{34}\approx0{,}735$.
Dans une matrice de confusion, à quoi correspond la case en ligne $i$, colonne $j$ (avec $i\neq j$) ?
Au nombre d'observations de classe réelle $i$, prédites (à tort) en classe $j$ (cours §4) — une case hors diagonale représente toujours une erreur de classification.
Que représente la somme de tous les éléments d'une ligne $i$ de la matrice de confusion ?
Le nombre total d'observations dont la classe réelle est $i$, quelle que soit la classe prédite (cours §5, utilisé pour calculer $\text{VP}+\text{FN}$ dans le calcul du rappel).
Que représente la somme de tous les éléments d'une colonne $j$ de la matrice de confusion ?
Le nombre total d'observations prédites en classe $j$, quelle que soit leur classe réelle (cours §5, utilisé pour calculer $\text{VP}+\text{FP}$ dans le calcul de la précision).
Pour la matrice de l'exercice 7, calculer précision et rappel pour la classe $0$ (première ligne/colonne).
$\text{VP}=30$, $\text{FP}=5+1=6$, $\text{FN}=3+2=5$.
$\text{Précision}_0=30/36\approx0{,}833$. $\text{Rappel}_0=30/35\approx0{,}857$.
Vrai ou faux : « pour un problème à K classes, précision et rappel peuvent être calculés globalement en une seule valeur unique, sans distinction par classe ».
Faux, en toute rigueur (cours §5) : précision et rappel sont naturellement définis par classe pour $K\gt2$ classes — on peut ensuite les moyenner (moyenne simple ou pondérée par classe) pour obtenir un résumé global, mais ce sont d'abord des indicateurs par classe.
Dans une matrice de confusion à 3 classes (chat, chien, oiseau), la case (chat réel, chien prédit) est très élevée, alors que les autres cases hors diagonale sont faibles. Que peut-on en conclure ?
Le modèle confond spécifiquement les chats avec les chiens (une erreur systématique et localisée), tandis qu'il distingue bien les oiseaux des deux autres catégories — un diagnostic précis qui orienterait par exemple la collecte de données supplémentaires spécifiquement sur la distinction chat/chien.
Comment le choix du seuil de décision (chapitre « Classification supervisée ») affecte-t-il directement le contenu de la matrice de confusion binaire ?
Changer le seuil déplace des observations entre les colonnes « prédit positif » et « prédit négatif » (sans changer leur classe réelle, donc leur ligne) : un seuil plus bas déplace des observations de FN vers VP (et de VN vers FP), un seuil plus élevé fait l'inverse — la matrice de confusion se recalcule entièrement pour chaque seuil testé.
À quoi ressemblerait une matrice de confusion pour un modèle parfait (aucune erreur) ?
Une matrice diagonale (toutes les valeurs hors diagonale nulles) : chaque observation est classée exactement dans sa classe réelle, sans aucune confusion entre classes — un cas idéal rarement atteint en pratique.
Pour la matrice de confusion à 3 classes $\begin{pmatrix}60&4&1\\3&55&2\\2&3&70\end{pmatrix}$ : (a) calculer l'accuracy globale. (b) calculer précision et rappel pour la classe $2$ (troisième ligne/colonne). (c) cette classe est-elle globalement bien détectée par le modèle ?
(a) Total $=200$. Diagonale $=60+55+70=185$. $\text{Accuracy}=185/200=0{,}925$.
(b) $\text{VP}=70$, $\text{FP}=1+2=3$, $\text{FN}=2+3=5$. $\text{Précision}_2=70/73\approx0{,}959$. $\text{Rappel}_2=70/75\approx0{,}933$.
(c) Oui, très bien détectée : précision et rappel sont tous deux supérieurs à $0{,}9$, indiquant à la fois peu de fausses alertes et peu de cas manqués pour cette classe — cohérent avec l'accuracy globale déjà élevée du modèle.
Exercice A — Pour $\text{VN}=90,\,\text{FP}=12,\,\text{FN}=18,\,\text{VP}=80$.
1. Construire le tableau de la matrice de confusion et calculer le total.
2. Calculer l'accuracy, la précision et le rappel.
3. Ce modèle génère-t-il davantage de fausses alertes ou de cas manqués ? Justifier à partir des chiffres.
Exercice B — Question de cours
Expliquer pourquoi la matrice de confusion est considérée comme l'outil « source de vérité » à partir duquel tous les autres indicateurs de performance se dérivent.
Un système de contrôle qualité classe des pièces en 3 catégories (conforme, défaut mineur, défaut majeur), avec la matrice de confusion suivante (lignes = réel, colonnes = prédit) : $\begin{pmatrix}45&3&2\\2&38&4\\1&3&52\end{pmatrix}$.
1. Calculer l'accuracy globale du système.
2. Calculer précision et rappel pour la catégorie « défaut mineur » (deuxième ligne/colonne).
3. Le responsable qualité s'inquiète particulièrement des pièces à « défaut majeur » classées à tort comme « conformes » (une pièce dangereuse laissée passer). Où trouve-t-on cette information précise dans la matrice, et que vaut-elle ici ?
4. Pourquoi cette information spécifique serait-elle totalement invisible si l'on ne disposait que de l'accuracy globale du système ?