Comment tracer une courbe de régression logistique en Python



Vous pouvez utiliser la fonction regplot() de la bibliothèque de visualisation de données seaborn pour tracer une courbe de régression logistique en Python :

import seaborn as sns

sns.regplot(x=x, y=y, data=df, logistic=True, ci=None)

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : tracer une courbe de régression logistique en Python

Pour cet exemple, nous utiliserons l’ensemble de données par défaut du livre Introduction à l’apprentissage statistique . Nous pouvons utiliser le code suivant pour charger et afficher un résumé de l’ensemble de données :

#import dataset from CSV file on Github
url = "https://raw.githubusercontent.com/Statology/Python-Guides/main/default.csv"
data = pd.read_csv(url)

#view first six rows of dataset
data[0:6]

        default	student	balance	        income
0	0	0	729.526495	44361.625074
1	0	1	817.180407	12106.134700
2	0	0	1073.549164	31767.138947
3	0	0	529.250605	35704.493935
4	0	0	785.655883	38463.495879
5	0	1	919.588530	7491.558572  

Cet ensemble de données contient les informations suivantes sur 10 000 individus :

  • défaut : indique si un individu a fait défaut ou non.
  • étudiant : indique si un individu est étudiant ou non.
  • solde : Solde moyen porté par un individu.
  • revenu : Revenu de l’individu.

Supposons que nous souhaitions construire un modèle de régression logistique qui utilise le « solde » pour prédire la probabilité qu’un individu donné fasse défaut.

Nous pouvons utiliser le code suivant pour tracer une courbe de régression logistique :

#define the predictor variable and the response variable
x = data['balance']
y = data['default']

#plot logistic regression curve
sns.regplot(x=x, y=y, data=data, logistic=True, ci=None)

L’axe des x montre les valeurs de la variable prédictive « solde » et l’axe des y affiche la probabilité prédite de défaut de paiement.

Nous pouvons clairement voir que des valeurs d’équilibre plus élevées sont associées à des probabilités plus élevées qu’un individu fasse défaut.

Notez que vous pouvez également utiliser scatter_kws et line_kws pour modifier les couleurs des points et de la courbe dans le tracé :

#define the predictor variable and the response variable
x = data['balance']
y = data['default']

#plot logistic regression curve with black points and red line
sns.regplot(x=x, y=y, data=data, logistic=True, ci=None),
            scatter_kws={'color': 'black'}, line_kws={'color': 'red'})

courbe de régression logistique en Python

N’hésitez pas à choisir les couleurs que vous souhaitez dans l’intrigue.

Ressources additionnelles

Les didacticiels suivants fournissent des informations supplémentaires sur la régression logistique :

Introduction à la régression logistique
Comment signaler les résultats de la régression logistique
Comment effectuer une régression logistique en Python (étape par étape)

Ajouter un commentaire

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