Accueil
Thèmes
Matrice de confusion
Date de publication : 19 janvier 2024
Contributeurs : Jacob Murel Ph.D., Eda Kavlakoglu
La matrice de confusion permet d’évaluer les performances du modèle de classification dans le domaine du machine learning en comparant les valeurs prédites aux valeurs réelles d’un jeu de données.
La matrice de confusion (ou matrice d’erreur) est une méthode qui permet de visualiser les résultats d’un algorithme de classification. Plus précisément, il s’agit d’une table qui décompose le nombre d’instances de vérité terrain d’une classe donnée par rapport au nombre d’instances de classes prédites. La matrice de confusion est l’un des nombreux indicateurs qui permettent d’évaluer la performance des modèles de classification. On peut s’en servir pour calculer un certain nombre d’autres indicateurs de performance des modèles, tels que la précision et le rappel.
Les matrices de confusion peuvent être utilisées avec n’importe quel algorithme de classification, tel que le classificateur Bayes naïf, les modèles de régression logistique , les arbres de décision, etc. En raison de leur vaste applicabilité dans les modèles de science des données et de machine learning, nombre de packages et bibliothèques sont préchargés avec des fonctions permettant de créer des matrices de confusion, comme le module sklearn.metrics de scikit-learn pour Python.
Découvrez IBM watsonx et apprenez à créer des modèles de machine learning à partir de jeux de données statistiques.
Dans une matrice de confusion, les colonnes représentent les valeurs prédites d’une classe donnée tandis que les lignes représentent les valeurs réelles (c’est-à-dire la vérité terrain) d’une classe donnée, ou inversement. Notez que l’inverse se retrouve également dans les recherches. Cette structure en grille constitue un outil pratique pour visualiser la précision de la classification des modèles : elle permet d’afficher le nombre de prévisions correctes et de prévisions incorrectes pour toutes les classes côte à côte.
Voici ce à quoi pourrait ressembler un modèle de matrice de confusion standard pour un classificateur binaire :
La case en haut à gauche contient le nombre de vrais positifs (TP), c’est-à-dire le nombre de prédictions correctes pour la classe positive. La case du dessous correspond aux faux positifs (FP), c’est-à-dire les instances de classe négative identifiées à tort comme des cas positifs. Ces valeurs sont également appelées erreurs de type I en statistique. La case en haut à droite contient le nombre de faux négatifs (FN), les instances en fait positives prédites à tort comme négatives. Enfin, la case en bas à droite affiche le nombre de vrais négatifs (TN), les instances de classe négatives réelles correctement prédites comme négatives. En additionnant chacune de ces valeurs, on obtient le nombre total de prédictions du modèle.1
Bien sûr, ce modèle traite un problème de classification binaire rudimentaire. La matrice de confusion permet également de visualiser les résultats pour des problèmes de classification multiclasse. Imaginez par exemple que nous développions un modèle de classification des espèces dans le cadre d’un programme de conservation de la vie marine. Le modèle prédit les espèces de poissons. Voici ce à quoi pourrait ressembler la matrice de confusion correspondant à un tel problème de classification multiclasse :
Les cases en diagonale indiquent toutes les vrais positifs prédits. Les autres cases correspondent aux quantités de faux positifs, de faux négatifs et de vrais négatifs, en fonction de la classe sur laquelle on choisit de se concentrer.
Grâce à sa présentation accessible des résultats prédictifs du classificateur, la matrice de confusion peut servir à calculer d’autres indicateurs d’évaluation de modèles. Les valeurs peuvent simplement être extraites de la matrice et intégrées à un certain nombre d’équations destinées à mesurer les performances du modèle.
La précision du modèle n’est pas une mesure d’évaluation entièrement informative pour les classificateurs. Par exemple, imaginons que nous exécutions un classificateur sur un jeu de données de 100 instances. La matrice de confusion du modèle affiche un seul faux négatif et aucun faux positif. Le modèle classe correctement toutes les autres instances de données. Ainsi, le modèle a une précision de 99 %. Même si elle est apparemment souhaitable, une grande précision n’est pas en elle-même un gage de l’excellence de la performance d’un modèle. Par exemple, supposons que notre modèle vise à classer des maladies hautement contagieuses. Ce pourcentage de classifications erronées pose un risque énorme. De ce fait, d’autres indicateurs d’évaluation peuvent être utilisés pour peindre un meilleur tableau des performances des algorithmes de classification.
La précision correspond à la proportion de prédictions de classes positives qui appartiennent réellement à la classe en question.2 On peut également considérer qu’elle mesure la probabilité qu’une instance choisie au hasard appartienne à une certaine classe.3 La précision peut également être appelée valeur prédite positive (PPV). Elle est représentée par l’équation suivante :
Le rappel indique le pourcentage d’instances de classes détectées par un modèle.4 En d’autres termes, il indique la proportion de prédictions positives pour une classe donnée par rapport à toutes les instances réelles de cette classe.5 Le rappel est également connu sous le nom de sensibilité ou taux de vrais positifs (TPR), et il est représenté par l’équation suivante :
La précision et le rappel peuvent partager une relation inverse. Si un modèle augmente le rappel en renvoyant davantage d’instances de classes réelles (c.-à-d. vrais positifs), il classifiera inévitablement mal les non-instances (c.-à-d. faux positifs), réduisant ainsi la précision.6 Le score F1 tente de combiner précision et rappel pour équilibrer ce compromis.
Le F1 Score, également appelé F-score, F-mesure ou moyenne harmonique de la précision et du rappel combine la précision et le rappel pour représenter la précision totale d’un modèle par classe. En utilisant ces deux valeurs, on peut calculer le F1 Score avec cette équation, où P indique la précision (PPV) et R représente le rappel (sensibilité) :
Le F1 Score est particulièrement utile pour les jeux de données déséquilibrés, dans lesquels le compromis précision-rappel peut être le plus évident. Imaginons par exemple un classificateur prédisant la probabilité d’une maladie rare. Un modèle qui prédit que personne dans notre jeu de données de test n’est atteint de la maladie peut avoir une précision parfaite, mais un rappel nul. En revanche, un modèle qui prédit que tout le monde dans notre jeu de données est atteint de la maladie renverrait un rappel parfait, mais une précision égale au pourcentage de personnes qui ont réellement la maladie (par exemple 0,00001 % si seulement une personne sur dix millions est atteinte de la maladie). Le F1 Score constitue un moyen d’équilibrer ces deux valeurs pour obtenir une vue plus holistique des performances d’un classificateur.7
Certains chercheurs critiquent l’utilisation du F1 Score comme indicateur de performance. Ils avancent généralement que le F1 Score accorde la même importance à la précision et au rappel, qui ne sont peut-être pas des indicateurs de performance d’importance égale pour tous les jeux de données.8 En réponse, ils ont proposé des variantes modifiées du F1 Score.9
Les mesures conditionnelles indiquent le taux de précision d’un modèle en termes de détection d’une certaine classe ou non-classe. Le rappel, également appelé taux de vrais positifs (TPR) ou sensibilité, est l’une de ces mesures, indiquant la proportion des prévisions de classes positives par rapport à toutes les instances de classes réelles. La spécificité, ou taux de vrais négatifs (TNR), est l’autre mesure conditionnelle. Elle mesure la proportion de prédictions négatives correctes par rapport aux non-instances réelles d’une classe donnée. La spécificité peut être calculée à l’aide de l’équation suivante :10
La spécificité permet de calculer le taux de faux positifs (FPR) d’un modèle. D’autres visualisations destinées à l’évaluation des classificateurs, notamment la courbe ROC et l’AUC, utilisent le FPR. Le FPR est la probabilité qu’un modèle classe à tort une non-instance d’une certaine classe comme une partie de cette classe. Ainsi, comme son nom l’indique, il représente le taux de faux positifs renvoyés par le modèle, ce que l’on appelle également erreurs de type I en statistique.
Tandis que les erreurs de type I font référence aux faux positifs, les erreurs de type II désignent les faux négatifs, c’est-à-dire des instances réelles d’une classe donnée classées par erreur comme ne faisant pas partie de cette classe. Par exemple, le taux de faux négatifs (FNR) correspond à la probabilité qu’un modèle classe par erreur une instance de classe réelle comme ne faisant pas partie de cette classe. Alors que le FPR correspond à la spécificité, le FNR correspond à la sensibilité :
Notez que le FNR n’apparaît pas souvent dans la littérature, car il nécessite de connaître le nombre total d’instances réelles pour une classe donnée, une valeur qui peut rester inconnue dans les jeux de données de test inédits.11
Les indicateurs inconditionnels sont ceux qui représentent les probabilités qu’une classe donnée se produise ou non, selon le modèle. La précision, ou valeur prédictive positive (PPV), est un indicateur inconditionnel. Comme mentionné précédemment, elle mesure la probabilité qu’une instance choisie appartienne à une certaine classe. L’autre indicateur inconditionnel, la valeur prédictive négative (VPN), est la probabilité qu’une instance choisie n’appartienne pas à cette classe. Essentiellement, les deux indicateurs inconditionnels tentent de déterminer si une instance choisie au hasard appartient ou non à une classe donnée. La VPN est calculée à l’aide de la formule suivante :12
Utilisez scikit-learn afin de créer une matrice de confusion pour un problème de classification binaire simple.
En savoir plus sur l’analyse de la performance des modèles basée sur des matrices de confusion et des indicateurs de performance.
Utilisez scikit-learn pour créer une matrice de confusion dans le cadre d’une tâche de classification de texte avec des algorithmes SVM.
Utilisez plusieurs paquets R afin de créer une matrice de confusion pour un problème de classification binaire simple.
1 Kai Ming Ting, « Confusion matrix », Encyclopedia of Machine Learning and Data Mining, Springer, 2018.
2 Ethan Zhang et Yi Zhang, « Precision », Encyclopedia of Database Systems, Springer, 2018.
3 Max Kuhn et Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
4 Ethan Zhang et Yi Zhang, « Recall », Encyclopedia of Database Systems, Springer, 2018.
5 Max Kuhn et Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
6 Ben Carterette, « Precision and Recall », Encyclopedia of Database Systems, Springer, 2018.
7 Ian Goodfellow, Yoshua Bengio et Aaron Courville, Deep Learning, MIT Press, 2016, https://www.deeplearningbook.org/ (lien externe à ibm.com). Kevin Murphy, Machine Learning : A Probabilistic Perspective, MIT Press, 2012.
8 David Hand et Peter Christen, « A note on using the F-measure for evaluating record linkage algorithms », Statistics and Computing, vol. 28, 2018, pages 539–547, https://link.springer.com/article/10.1007/s11222-017-9746-6 (lien externe à ibm.com).
9 David Hand, Peter Christen et Nishadi Kirielle, « F* : an interpretable transformation of the F-measure », Machine Learning, vol. 110, 2021, pages 451 456, https://link.springer.com/article/10.1007/s10994-021-05964-1 (lien externe à ibm.com). Davide Chicco et Giuseppe Jurman, « The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation », BMC Genomics, vol. 21, 2020,https://bmcgenomics.biomedcentral.com/articles/10.1186/s12864-019-6413-7 (lien externe à ibm.com).
10 Max Kuhn et Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
11 Allen Downey, Think Stats, 2e édition, O’Reilly, 2014.
12 Max Kuhn et Kjell Johnson, Applied Predictive Modeling, Springer, 2016.