Matrice de confusion dans l'apprentissage automatique: votre solution unique



Cet article se concentre sur la matrice de confusion, qui est l'un des aspects les plus importants de tout algorithme d'apprentissage automatique utilisé pour évaluer sa précision.

Dans , nous avons généralement 2 types de cas d'utilisation différents, , et problème. La matrice de confusion aide à calculer la précision du modèle de classification, ce qui nous aide indirectement à décrire les performances du modèle de classification. Il s'agit de l'étape la plus importante pour évaluer un modèle. Je couvrirai les sujets suivants dans cet article:

1. Qu'est-ce qu'une matrice de confusion?





programmation de socket client-serveur en java

2. Précision et composants de la matrice de confusion

3. Précision, rappel et mesure F



4. Création d'une matrice de confusion à l'aide de Python et Sklearn

Qu'est-ce qu'une matrice de confusion?

Une matrice de confusion est le résumé de comparaison des résultats prédits et des résultats réels dans tout cas d'utilisation de problème de classification. Le résumé de la comparaison est extrêmement nécessaire pour déterminer les performances du modèle après son entraînement avec certaines données d'entraînement. Accuracy-Confusion-MatrixPour un cas d'utilisation de classification binaire, une matrice de confusion est une matrice 2 × 2 qui est comme indiqué ci-dessous
Valeur de classe 1 prédite EG: 1 Valeur de classe 2 prévue EG: 0
Valeur réelle de la classe 1

EG: 1

TP (vrai positif) FN (faux négatif)
Valeur réelle de la classe 2



EG: 0

FP (faux positif) TN (vrai négatif)

D'après la figure ci-dessus:
Nous avons,

  • Valeur réelle de la classe 1 = 1 qui est similaire à la valeur positive dans un résultat binaire.
  • Valeur réelle de la classe 2 = 0, ce qui est similaire à une valeur négative dans le résultat binaire.

L'index de gauche de la matrice de confusion indique essentiellement les valeurs réelles et la colonne supérieure indique les valeurs prédites.

Il existe différents composants qui existent lorsque nous créons une matrice de confusion. Les composants sont mentionnés ci-dessous

Positif (P): Le résultat prévu est positif (exemple: l'image est un chat)

Négatif (N): le résultat prédit est négatif (exemple: les images ne sont pas un chat)

Vrai positif (TP): Ici, TP indique essentiellement les valeurs prédites et réelles est 1 (True)

Vrai négatif (TN): Ici TN indique la valeur prédite et la valeur réelle est 0 (Faux)

Faux négatif (FN): Ici, FN indique que la valeur prédite est 0 (négative) et la valeur réelle est 1. Ici, les deux valeurs ne correspondent pas. Par conséquent, il est faux négatif.

Faux positif (FP): Ici, FP indique que la valeur prédite est 1 (positive) et la valeur réelle est 0. Ici encore, les deux valeurs ne correspondent pas. Par conséquent, il est faux positif.

Précision et composants de la matrice de confusion

Une fois que la matrice de confusion est créée et que nous déterminons toutes les valeurs des composants, il nous devient assez facile de calculer la précision. Alors, regardons les composants pour mieux comprendre cela.
  • Précision de la classification

À partir de la formule ci-dessus, la somme de TP (vrai positif) et du TN (vrai négatif) sont les résultats prévus corrects. Par conséquent, pour calculer la précision en pourcentage, nous divisons avec tous les autres composants. Cependant, il y a des problèmes de précision et nous ne pouvons pas en dépendre complètement.

Considérons que notre jeu de données est complètement déséquilibré. Dans ce scénario, une précision de 98% peut être bonne ou mauvaise en fonction de l'énoncé du problème. Par conséquent, nous avons d'autres termes clés qui nous aideront à être sûrs de la précision que nous calculons. Les termes sont comme indiqué ci-dessous:

  • TPR (True Positive Rate) ou Sensibilité:

Le taux de vrais positifs qui est également connu sous le nom de sensibilité mesure le pourcentage de vrais positifs par rapport au total des positifs réels qui est indiqué par (TP + FN)

Valeur de classe 1 prédite EG: 1 Valeur de classe 2 prévue EG: 0 Total
Valeur réelle de la classe 1

EG: 1

TP (vrai positif) FN (faux négatif) Total des positifs réels
Valeur réelle de la classe 2

EG: 0

FP (faux positif)TN (vrai négatif)Total des négatifs réels
TPR = vrai positif / (vrai positif + faux négatif
  • TNR (True Negative Rate) ou spécificité:

Le taux ou la spécificité vrais négatifs mesure la proportion de négatifs réels par rapport au total des négatifs

Valeur de classe 1 prédite EG: 1 Valeur de classe 2 prévue EG: 0 Total
Valeur réelle de la classe 1

EG: 1

TP (vrai positif)FN (faux négatif)Total des positifs réels
Valeur réelle de la classe 2

EG: 0

FP (faux positif) TN (vrai négatif) Total des négatifs réels

TNR = Vrai Négatif / (Vrai Négatif + Faux Positif)

  • Taux de faux positifs (FPR):

Le taux de faux positifs est le pourcentage de faux positifs (FP) prédits par rapport au nombre total de résultats positifs prédits (TP + FP).

Valeur de classe 1 prédite EG: 1 Valeur de classe 2 prévue EG: 0
Valeur réelle de la classe 1 EG: 1 TP (vrai positif) FN (faux négatif)
Valeur réelle de la classe 2 EG: 0 FP (faux positif) TN (vrai négatif)
Somme du total des résultats positifs prédits Somme du total négatif prévu
FPR = faux positif / (vrai positif + faux positif)
  • Taux de faux négatifs (FNR):

Le taux de faux négatifs est le pourcentage de faux négatifs prédits (FP) par rapport au nombre total de résultats négatifs prédits (TN + FN).

mes tutoriels sql pour les débutants
Valeur de classe 1 prédite EG: 1 Valeur de classe 2 prévue EG: 0
Valeur réelle de la classe 1 EG: 1TP (vrai positif) FN (faux négatif)
Valeur réelle de la classe 2 EG: 0FP (faux positif) TN (vrai négatif)
Somme du total des résultats positifs prédits Somme du total négatif prévu
FNR = faux négatif / (faux négatif + vrai négatif)

Précision, rappel et mesure F

  • Rappel:

Un rappel est similaire au taux de vrais positifs et c'est le rapport du nombre total de valeurs positives correctement prédites (TP) à toutes les valeurs positives.

  • Précision:

La précision indique essentiellement tous les points que le modèle a prédits positifs et quel pourcentage d'entre eux sont réellement positifs.

La précision et le rappel sont des résultats de métriques qui se concentrent sur la classe positive comme indiqué dans les formules ci-dessus.

  • Mesure F

Donc F-Measure est une technique qui combine à la fois la technique de précision et de rappel et utilise la moyenne harmonique à la place de la moyenne arithmétique habituelle, en raison de laquelle les valeurs extrêmes sont punies. La mesure F est également appelée score F1 et est donnée par la formule ci-dessous.

Prenons un exemple et voyons comment nous pouvons calculer la précision, la précision, le rappel et le score F1.

N = 165 Prédiction OUI Non prédit
Réel OUI TP = 150 FN = 10
Non courant FP = 20 TN = 100
    • Précision = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Rappel = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Précision: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-mesure = (2 * Rappel * Précision) / (Rappel + Presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Créer une matrice de confusion à l'aide de Python et Sklearn

Nous allons maintenant voir un exemple de la façon dont nous pouvons créer une matrice de confusion en utilisant python avec la bibliothèque sklearn.

un. Au départ, nous créerons une liste des données réelles et des prévisions pour vérifier l'exactitude comme indiqué ci-dessous

# Script Python pour la création d'une matrice de confusion. données_actuelles = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] données_prédites = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Nous devons importer la matrice de confusion de la bibliothèque sklearn comme indiqué ci-dessous:

depuis sklearn.metrics import confusion_matrix

3. Ensuite, nous allons créer la matrice de confusion comme indiqué ci-dessous:

final_results = confusion_matrix (données_actuelles, données_prédites)

Quatre. Maintenant, nous pouvons continuer et calculer la précision en important la bibliothèque comme indiqué ci-dessous:

à partir de sklearn.metrics import precision_score precision = precision_score (actual_data, predicted_data)

5. Enfin, nous calculons le score F1 ou la mesure F comme indiqué ci-dessous:

à partir de sklearn.metrics import classification_report report = classification_report (actual_data, preded_data)

Voici le code complet:

données_actuelles = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] données_prédites = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] depuis sklearn.metrics import confusion_matrix final_results = confusion_matrix (données_actuelles, données_prédites) impression (résultats_finaux) depuis sklearn.metrics import precision_score precision = precision_score (données_actuelles, données_prédites) depuis sklearn.metrics classification_report report = classification_report ( actual_data, preded_data) print (précision) print (rapport)

matrix

Donc, avec cela, nous arrivons à la fin de cet article. J'espère que toute votre confusion au sujet de la matrice de confusion est maintenant résolue.

Edureka vous aide à acquérir une expertise dans divers algorithmes d'apprentissage automatique tels que la régression, le clustering, les arbres de décision, la forêt aléatoire, Naïve Bayes et Q-Learning. Cet apprentissage automatique utilisant Python Training vous expose aux concepts de statistiques, de séries chronologiques et de différentes classes d'algorithmes d'apprentissage automatique tels que les algorithmes supervisés, non supervisés et de renforcement. Tout au long du cours de certification en science des données, vous résolvez des études de cas réelles sur les médias, la santé, les médias sociaux, l'aviation et les ressources humaines.