Résumé de section

  • Qu’est-ce que le multi-classe ? C’est quand vous avez plus d’une classe à détecter, par exemple vous avez penny, dime et nickel (trois types de pièces différents).

    Dans votre matrice de confusion, vous aurez donc autant de ligne et de colonne que de classe, auxquelles on rajoute la ligne et la colonne “negative” (”background”) qui correspond à l’absence de classe.

    Voyons à quoi elle ressemble :

                           

    Les lignes correspondent aux prédictions et les colonnes à la vérité terrain selon chaque classe.

              

    On retrouve bien la bonne diagonale qui correspond toujours au fait que la classe de la prédiction est la même classe que la vérité terrain.

    En revanche, il n’y a plus de mauvaise diagonale. Les mauvaises prédictions couvrent maintenant le reste des cases de la matrice.

    La colonne tout à droite correspond aux objets qui ont été détecté mais faisaient en fait partie du fond. Inversement, la dernière ligne correspond aux choses non détectés qui faisaient en fait partie d’une classe.

          

    Avec la nouvelle forme de matrice de confusion que nous venons de voir, il va être nécessaire de définir qui sont les vrais positifs, vrais négatifs, faux positifs et faux négatifs. Cela permettra de sortir les calculs de précision, rappel et F1-score pour trouver le meilleur seuil de confiance pour le déploiement de notre modèle.

    Pour ramener une matrice multi-classe à une matrice 2x2, on va fonctionner classe par classe. À la fin on devrait avoir autant de matrice de confusion 2x2 que de classe (sans compter "background") à détecter.

    Pour les remplir, on va voir ensemble comment déterminer qui correspond à quoi.

         

    Déjà, nous n’avons pas besoin des vrais négatifs comme vu tout à l'heure.

    Voyons comment trouver les trois restantes en prenant encore une fois la classe “Penny” comme exemple.

                       

    Les vrais positifs sont ceux prédit “penny” qui en était bien donc on a qu’une seule case, celle qui est verte à l'intersection de la ligne "penny" et de la colonne "penny".

    Ensuite, les cases de la même ligne correspondent aux objets que le modèle a prédit comme “penny” mais qui n’en était pas donc les faux positifs (les cases sur la même ligne que la case verte).

    Enfin, les cases de la même colonne correspondent aux objets que le modèle a prédit comme tout sauf “penny” mais qui était bien un “penny” donc les faux négatifs (les cases sur la même colonne que la case verte).

    Pour les faux négatifs et les faux positifs, on va sommer les valeurs de toutes les cases concernées.

                                  

    Une fois qu’on a nos 3 valeurs (TP, TN, FP), on va pouvoir calculer la précision et le rappel, et en déduire les deux autres courbes précision-rappel et F1-score. Comme vu précédemment, on va refaire ce processus avec tous les seuils de confiance pour pouvoir tracer les courbes de précision et de rappel en fonction de ce seuil.

    Puis quand les courbes d’une classe sont tracées, on fait avec la classe d’après et ainsi de suite jusqu’à ce qu’elles soient toutes faites. On se retrouve donc avec autant de courbe que de classe.

    Pour avoir une vue d’ensemble, on fait une moyenne de toutes ces courbes, c’est la courbe en gras que l’on voit sur la courbe du F1-score ci-dessous.

                           

    Et le “0.40 at 0.146” à côté de “all classes” correspond au pic de la courbe : le maximum est 0.40 et son abscisse est 0.146, donc dans cette expérience, il faudrait choisir un seuil de confiance de 0.146.

                                  

      • Matrice de confusion multi-classe normalisée

    Enfin, il reste la matrice de confusion normalisée. Elle permet d’avoir une vision globale car au lieu de donner les chiffres, elle donne des pourcentages.

                           

    Comment la lire ? 

    La matrice de confusion normalisée permet de voir les pourcentages de détection pour chaque classe donc elle se lit colonne par colonne. Par exemple, pour les “Penny” de haut en bas :

    • 1% ont été pris pour des “Dime”
    • 5% ont été confondu avec des “Nickel”
    • 82% des “Penny” ont bien été reconnu
    • 12% n’ont pas du tout été détecté

    On a bien 100% en faisant la somme donc c’est bon.