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'})
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)