Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment créer une matrice de confusion en Python



La régression logistique est un type de régression que nous pouvons utiliser lorsque la variable de réponse est binaire.

Une façon courante d’évaluer la qualité d’un modèle de régression logistique consiste à créer une matrice de confusion , qui est un tableau 2 × 2 qui montre les valeurs prédites du modèle par rapport aux valeurs réelles de l’ensemble de données de test.

Pour créer une matrice de confusion pour un modèle de régression logistique en Python, nous pouvons utiliser la fonction confusion_matrix() du package sklearn :

from sklearn import metrics
metrics.confusion_matrix(y_actual, y_predicted)

L’exemple suivant montre comment utiliser cette fonction pour créer une matrice de confusion pour un modèle de régression logistique en Python.

Exemple : création d’une matrice de confusion en Python

Supposons que nous disposions des deux tableaux suivants contenant les valeurs réelles d’une variable de réponse ainsi que les valeurs prédites par un modèle de régression logistique :

#define array of actual values
y_actual = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

#define array of predicted values
y_predicted = [0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]

Nous pouvons utiliser la fonction confusion_matrix() de sklearn pour créer une matrice de confusion pour ces données :

from sklearn import metrics

#create confusion matrix
c_matrix = metrics.confusion_matrix(y_actual, y_predicted)

#print confusion matrix
print(c_matrix)

[[6 4]
 [2 8]]

Si nous le souhaitons, nous pouvons utiliser la fonction crosstab() de pandas pour créer une matrice de confusion plus attrayante visuellement :

import pandas as pd

y_actual = pd.Series(y_actual, name='Actual')
y_predicted = pd.Series(y_predicted, name='Predicted')

#create confusion matrix
print(pd.crosstab(y_actual, y_predicted))

Predicted  0  1
Actual         
0          6  4
1          2  8

Les colonnes affichent les valeurs prédites pour la variable de réponse et les lignes affichent les valeurs réelles.

Nous pouvons également calculer l’exactitude, la précision et le rappel à l’aide des fonctions du package sklearn :

#print accuracy of model
print(metrics.accuracy_score(y_actual, y_predicted))

0.7

#print precision value of model
print(metrics.precision_score(y_actual, y_predicted))

0.667

#print recall value of model
print(metrics.recall_score(y_actual, y_predicted))

0.8

Voici un bref rappel sur l’exactitude, la précision et le rappel :

  • Précision : Pourcentage de prédictions correctes
  • Précision : Corriger les prédictions positives par rapport au total des prédictions positives
  • Rappel : Corriger les prédictions positives par rapport au total des positifs réels

Et voici comment chacune de ces métriques a été réellement calculée dans notre exemple :

  • Précision : (6+8) / (6+4+2+8) = 0,7
  • Précision : 8 / (8+4) = 0.667
  • Rappel : 8 / (2+8) = 0,8

Ressources additionnelles

Introduction à la régression logistique
Les 3 types de régression logistique
Régression logistique vs régression linéaire

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *