Le processus de classification permet de classer l’ensemble des données en différentes classes. Un modèle d’apprentissage automatique vous permet de :
– Définir le problème,
– Collecter les données,
– Ajouter les variables,
– Former le modèle,
– Mesurer la performance,
– Améliorer le modèle à l’aide de la fonction de coût.
Mais comment pouvons-nous mesurer la performance d’un modèle ? En comparant le modèle prédit et le modèle réel ? Cependant, cela ne résoudra pas le problème de la classification. Une matrice de confusion peut vous aider à analyser les données et à résoudre le problème. Comprenons comment cette technique aide le modèle d’apprentissage automatique.
Matrice de confusion
La technique de la matrice de confusion aide à mesurer les performances de la classification par apprentissage automatique. Avec ce type de modèle, vous pouvez distinguer et classer le modèle avec les vraies valeurs connues sur l’ensemble des données de test. Le terme “matrice de confusion” est simple mais déroutant. Cet article va simplifier le concept afin que vous puissiez facilement comprendre et créer une matrice de confusion par vous-même.
Calcul de la matrice de confusion
Suivez ces étapes simples pour calculer la matrice de confusion pour l’exploration de données :
Étape 1
Estimez les valeurs des résultats de l’ensemble de données.
Étape 2
Testez l’ensemble de données à l’aide des résultats attendus.
Étape 3
Prédisez les lignes de votre jeu de données de test.
Étape 4
Calculez les résultats attendus et les prédictions. Vous devez prendre en compte les éléments suivants
– Le total des prédictions correctes de la classe
– Le total des prédictions incorrectes de la classe
Après avoir effectué ces étapes, vous devez organiser les chiffres selon les méthodes ci-dessous :
– Faire correspondre chaque ligne de la matrice avec la classe prédite.
– Faire correspondre chaque colonne de la matrice avec la classe réelle
– Inscrivez la classification correcte et incorrecte du modèle dans le tableau
– Incluez le total des prédictions correctes dans la colonne prédite. Ajoutez également la valeur de la classe dans la ligne prévue.
– Incluez le total des prédictions incorrectes dans la ligne prévue et la valeur de classe dans la colonne prévue.
Comprendre le résultat dans une matrice de confusion
1. Vrai positif
Les valeurs réelles et prédites sont identiques. La valeur prédite du modèle est positive, ainsi qu’une valeur positive réelle.
2. Vrai négatif
Les valeurs réelles et prédites sont identiques. La valeur prédite du modèle est négative, avec une valeur négative réelle.
3. Faux positif (erreur de type 1)
Les valeurs réelles et prédites ne sont pas les mêmes. La valeur prédite du modèle est positive et faussement prédite. Cependant, la valeur réelle est négative. On peut parler d’une erreur de type 1.
4. Faux négatif (erreur de type 2)
Les valeurs réelles et prédites ne sont pas les mêmes. La valeur prédite du modèle est négative et faussement prédite. Cependant, la valeur réelle est positive. Vous pouvez désigner cette erreur comme une erreur de type 2.
Importance de la matrice de confusion
Avant de répondre à la question, nous devons comprendre le problème de classification hypothétique. Supposons que vous deviez prédire le nombre de personnes infectées par le virus avant qu’elles ne présentent des symptômes. De cette façon, vous pouvez facilement les isoler et garantir une population saine. Nous pouvons choisir deux variables pour définir la population cible : Les personnes infectées et les personnes non infectées.
Maintenant, vous pourriez penser, pourquoi utiliser une matrice de confusion quand les variables sont trop simples. Eh bien, cette technique aide à la précision de la classification. Les données dans cet exemple sont l’ensemble de données déséquilibrées. Supposons que nous ayons 947 points de données négatifs et trois points de données positifs. Nous allons maintenant calculer la précision avec cette formule :
À l’aide du tableau suivant, vous pouvez vérifier la précision :
Les valeurs de sortie totales seront :
TP = 30, TN = 930, FP = 30, FN = 10.
Vous pouvez donc calculer la précision du modèle comme suit :
96% de précision pour un modèle, c’est incroyable. Mais vous pouvez seulement générer une idée fausse à partir du résultat. Selon ce modèle, vous pouvez prédire les personnes infectées 96% du temps. Cependant, le calcul prédit que 96% de la population ne sera pas infectée. Cependant, les personnes malades continuent de propager le virus.
Ce modèle semble-t-il être une solution parfaite pour le problème, ou devrions-nous mesurer les cas positifs et les isoler pour arrêter la propagation du virus. Nous utilisons donc une matrice de confusion pour résoudre ce type de problèmes. Voici quelques avantages de la matrice de confusion :
– La matrice aide à la classification du modèle tout en faisant les prédictions.
– Cette technique signifie le type et la perspicacité des erreurs afin que vous puissiez comprendre le cas facilement.
– Vous pouvez surmonter les restrictions grâce à une classification précise des données.
– Les colonnes de la matrice de confusion représentent les instances de la classe prédite.
– Chaque ligne indique les instances de la classe réelle.
– La matrice de confusion met en évidence les erreurs commises par le classificateur.
Matrice de confusion en Python
Maintenant que vous connaissez le concept de la matrice de confusion, vous pouvez vous entraîner en utilisant le code suivant en Python avec l’aide de la bibliothèque Scikit-learn.
# Matrice de confusion dans sklearn
fromsklearn.metricsimportconfusion_matrix
fromsklearn.metricsimportclassification_report
# Valeurs réelles
réel = [1,0,0,1,0,0,1,0,0,1]
# Valeurs prédites
prédites = [1,0,0,1,0,0,0,0,1,0,0]
# matrice de confusion
matrix =confusion_matrix(actual,predicted, labels=[1,0])
print(‘Matrice de confusion : \n’,matrix)
# ordre des valeurs des résultats dans sklearn
tp, fn, fp, tn=confusion_matrix(actual,predicted,labels=[1,0]).reshape(-1)
print(‘Valeurs des résultats : \n’, tp, fn, fp, tn)
# rapport de classification pour la précision, le rappel, le score f1 et l’exactitude
matrix =classification_report(actual,predicted,labels=[1,0])
print(‘Rapport de classification : \n’,matrix)
Conclusion
La matrice de confusion permet de restreindre la précision de la méthode de classification. En outre, elle met en évidence des détails importants sur les différentes classes. En outre, elle analyse les variables et les données afin que vous puissiez comparer les données réelles avec la prédiction.