Imaginez qu’on vous demande de tester et évaluer le niveau de qualité d’un modèle IA.
Imaginez que ce modèle ait pour objet de reconnaître et différencier des photos de chats et de chiens …
Chat ? Pas chat ? Ch’est chat ou pas ?
Avouez que vous donneriez votre langue à celui de Schrödinger !
Au minimum, que malgré toute votre maîtrise de techniques de test et d’évaluation, la demande vous laisserait confus quant à sa mise en œuvre.
Heureusement, dans votre boîte (noire, bien entendu), un outil conceptuel simple va vous permettre de vous tirer de ce mauvais pas : la matrice de confusion.
La matrice de confusion, pour ne pas se tromper ?
Utilisée pour évaluer la qualité d’un modèle IA, une matrice de confusion est un tableau à double entrée utilisé pour analyser les performances d’un modèle de classification.
Elle compare les prédictions du modèle à la réalité observée et permet de visualiser où le modèle se trompe et où il réussit.
Elle comporte quatre zones principales :
| Classe réelle positive | Classe réelle négative | |
| Prédit positif | Vrais positifs (VP) | Faux positifs (FP) |
| Prédit négatif | Faux négatifs (FN) | Vrais négatifs (VN) |
« Classe réelle positive» et « Classe réelle négative» font référence à la vérité terrain, c’est-à-dire la réalité telle qu’elle est dans les données, indépendamment de ce que le modèle prédit.
Autrement dit :
| Terme | Signification |
| Classe réelle positive (positifs réels) | Les données/exemples qui appartiennent vraiment à la classe positive. C’est la vérité objective connue à l’avance. |
| Classe réelle négative (négatifs réels) | Les données/exemples qui ne font pas partie de la classe positive. Ils appartiennent à la classe négative par rapport à la réalité. |
Exemple
Par exemple, dans un cas de classification d’images :
Notre modèle doit reconnaître/différencier les chats des chiens, alors, quand on lui demande de reconnaître les chats et qu’on lui soumet des images:
- Les images de la classe réelle positive contiennent un vrai chat, et devraient être reconnues.
- Les images de la classe réelle négative ne contiennent pas de chat, peuvent contenir un chien, et ne devraient pas être reconnues comme « image de chat »
Ce que fait le modèle ensuite (sa prédiction) est comparé à cette vérité.
Prenons un exemple concret, pour remplir les cases de notre matrice :
| Image | Contenu réel | Prédiction fournie par le modèle | Case de la matrice |
| Photo 1 | Chat | Chat | Vrai positif |
| Photo 2 | Chat | Chien (pas chat) | Faux négatif |
| Photo 3 | Chien | Chat | Faux positif |
| Photo 4 | Chien | Chien | Vrai négatif |
On distingue donc :
- Réalité/contenu réel : ce que représente effectivement l’image
- Prédiction du modèle : ce que le modèle croit reconnaître
La matrice de confusion compare les deux pour mesurer la qualité du modèle
Pour construire la matrice de confusion, on place la réalité (vérité terrain) en colonnes et les prédictions du modèle en lignes.
Soumettons 38 photos à ce modèle :
21 représentent des chats
et 17 représentent des chiens.
- On obtient en sortie du modèle (lecture opérationnelle) :
- 15 chats réels sont reconnus comme chats,
- 10 chiens réels sont reconnus comme « pas chats »
- 6 chats ne sont pas reconnus comme des chats
- 7 chiens sont reconnus à tort comme chats.
Présentation des résultats
- Sur les 21 chats réellement présents (positifs réels) :
- 15 sont détectés correctement comme chats
→ Vrais Positifs (VP) =15
- ne sont pas détectés comme chats
→ Faux Négatifs (FN) = 6
- 15 sont détectés correctement comme chats
- Sur les 17 chiens réellement présents (négatifs réels) :
- 10 sont reconnus correctement comme « pas chats »
→ Vrais Négatifs (VN) = 10
- 7 reconnus à tort comme chats
→ Faux Positifs (FP) = 7
- 10 sont reconnus correctement comme « pas chats »
Matrice de confusion correspondante :
| Réel positif (Chats) | Réel négatif (Chiens) | |
| Prédit positif (Chat) | 15 (VP) | 7 (FP) |
| Prédit négatif | 6 (FN) | 10 (VN) |
Cette matrice va pouvoir nous servir ensuite à calculer les métriques de performance du modèle de classification :
- Total des observations
15 + 7 + 6 + 10 = 38
Calcul des métriques principales
- Précision
Proportion de prédictions « chat » correctes
Précision = VP / (VP + FP)
= 15 / (15 + 7) = 15 / 22 ≈ 0,682
Soit 68,2 % de prédictions « chat » correctes - Rappel / Sensibilité / Recall
Capacité à trouver les vrais chats
Recall = VP / (VP + FN)
= 15 / (15 + 6) = 15 / 21 ≈ 0,714
Soit 71,4 % - Exactitude / Accuracy
Proportion globale de bonnes prédictions
Accuracy = (VP + VN) / Total
= (15 + 10) / 38 = 25 / 38 ≈ 0,658
Soit 65,8 % - Spécificité / True Negative Rate
Capacité à identifier correctement les chiens
Specificity = VN / (VN + FP)
= 10 / (10 + 7) = 10 / 17 ≈ 0,588
Soit 58,8 % - Score F1
Moyenne harmonique de précision et rappel
F1 = 2 × (Precision × Recall) / (Precision + Recall)
= 2 × (0,682 × 0,714) / (0,682 + 0,714)
≈ 0,698
Soit 69,8 %
Synthèse des résultats
| Mesure | Valeur |
| Précision | 68,20% |
| Rappel | 71,40% |
| Exactitude | 65,80% |
| Spécificité | 58,80% |
| Score F1 | 69,80% |
Analyse rapide :
- Le modèle reconnaît les chats relativement bien (recall 71,4 %)
- Ses prédictions « chat » sont correctes un peu plus d’une fois sur deux (precision 68,2 %)
- Il se trompe davantage sur les chiens (spécificité 58,8 %)
- Performance globale correcte, mais améliorable (accuracy 65,8 %, F1 ≈ 70 %)
À partir de notre matrice de confusion, nous avons pu retomber sur nos pattes et, à défaut de lolcat, clore enfin le chat-pitre …
A propos de l’auteur Pascal Delamaire: Au sein du groupe Henix, après de nombreuses missions en tant que consultant QA, je me consacre depuis près de 10 ans à la formation de reconversion aux métiers du test à l’EQL (École de la Qualité Logicielle).


