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 *

Interview

Témoignage: développer un outil de conception visuelle des tests

Peux-tu brièvement te présenter ? Je m’appelle Arnaud Bouzy. Je suis arrivé il y a 10 ans chez Smartesting (qui avait alors 6 ans) en tant qu’avant-vente et pour faire du consulting qui prenait beaucoup de temps à l’époque. Le travail de consulting chez un éditeur consiste à assurer la formation, l’aide

Lire la suite »
Processus de test pour mise en place de l'IA. Challenger le besoin d'utiliser de l'IA Challenger les besoins pour développer l'IA Elements à mettre en place si l'on met en place une IA

Les impacts de l’AI Act sur les tests

Rappels rapides Après une présentation de l’AI Act, il me semble important d’identifier les impacts concrets que l’on va observer lorsque l’on travaille dans le test et la qualité! Pour rappel l’AI Act définit 3 niveaux de risques qui définissent les éléments obligatoires à fournir: En fonction du niveau de

Lire la suite »
Image représentant le test et de nombreux éléments liés
sondage

Sondage 2023: vos débuts dans le test

L’année 2023 ne déroge pas à la règle! Cette année encore je fais encore appel à vous afin de répondre à un sondage. En 2023 c’est la 3ème édition du sondage sur vos débuts dans le test. Les résultats de 2020 avaient été très intéressant et l’on pouvait voir se

Lire la suite »