Homme en réflexion avec des chats, chiens, une poule et un cochon. Une IA doit classifier les animaux en chat ou chien

La Matrice de confusion et les métriques de performance expliquées  … avec des chats !

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 positiveClasse réelle négative
Prédit positifVrais positifs (VP)Faux positifs (FP)
Prédit négatifFaux 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 :

ImageContenu réelPrédiction fournie par le modèleCase de la matrice
Photo 1ChatChatVrai positif
Photo 2ChatChien (pas chat)Faux négatif
Photo 3ChienChatFaux positif
Photo 4ChienChienVrai 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

  • 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

Matrice de confusion correspondante :

Réel positif
(Chats)
Réel négatif
(Chiens)
Prédit positif (Chat)15 (VP)7 (FP)
Prédit négatif6 (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

  1. 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
  2. Rappel / Sensibilité / Recall
    Capacité à trouver les vrais chats
    Recall = VP / (VP + FN)
    = 15 / (15 + 6) = 15 / 21 ≈ 0,714
    Soit 71,4 %
  3. Exactitude / Accuracy
    Proportion globale de bonnes prédictions
    Accuracy = (VP + VN) / Total
    = (15 + 10) / 38 = 25 / 38 ≈ 0,658
    Soit 65,8 %
  4. Spécificité / True Negative Rate
    Capacité à identifier correctement les chiens
    Specificity = VN / (VN + FP)
    = 10 / (10 + 7) = 10 / 17 ≈ 0,588
    Soit 58,8 %
  5. 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

MesureValeur
Précision68,20%
Rappel71,40%
Exactitude65,80%
Spécificité58,80%
Score F169,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).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Automatisation

Livre CFTL: Évolution et état des lieux de l’automatisation

Article écrit à 4 mains avec Bruno Legeard Introduction : L’automatisation partie intégrante du test L’automatisation de l’exécution des tests constitue une large part de l’activité des testeurs comme on peut le constater avec l’enquête du CFTL de 2019 où moins de 10% des organisations n’ont pas de tests automatisés, mais

Lire la suite »
culture générale

Les évolutions dans les métiers du test

Pour cet article j’ai dû me limiter, les métiers étant très nombreux et les possibilités également. Je me suis donc limité aux métiers du test définis par le CFTL et au métier de testeur agile. J’ai également limité les métiers extérieurs au test en sélectionnant ceux qui me semblaient les

Lire la suite »
Image présentant les thématiques du RGESN
éco-conception

Présentation du RGESN 2024: la stratégie (1/9)

J’ai commencé une série sur le RGESN il y a quelques mois. Quelques mois qui ont suffit à rendre obsolète la série qui devait compter 8 articles avant même la parution de son 2ème article… Je vous propose donc un « reboot » de cette série! Si vous voulez connaître les différences

Lire la suite »