Comment créer un nuage de points avec une ligne de régression en Python



Souvent, lorsque vous effectuez une régression linéaire simple, vous souhaiterez peut-être créer un nuage de points pour visualiser les différentes combinaisons de valeurs x et y ainsi que la droite de régression d’estimation.

Heureusement, il existe deux manières simples de créer ce type de tracé en Python. Ce didacticiel explique les deux méthodes à l’aide des données suivantes :

import numpy as np 

#create data
x = np.array([1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9])
y = np.array([13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33])

Méthode 1 : utiliser Matplotlib

Le code suivant montre comment créer un nuage de points avec une droite de régression estimée pour ces données à l’aide de Matplotlib :

import matplotlib.pyplot as plt

#create basic scatterplot
plt.plot(x, y, 'o')

#obtain m (slope) and b(intercept) of linear regression line
m, b = np.polyfit(x, y, 1)

#add linear regression line to scatterplot 
plt.plot(x, m*x+b)

Nuage de points avec ligne de régression en Python

N’hésitez pas à modifier les couleurs du graphique à votre guise. Par exemple, voici comment changer les points individuels en vert et la ligne en rouge :

#use green as color for individual points
plt.plot(x, y, 'o', color='green')

#obtain m (slope) and b(intercept) of linear regression line
m, b = np.polyfit(x, y, 1)

#use red as color for regression line
plt.plot(x, m*x+b, color='red')

Nuage de points avec ligne de régression dans numpy

Méthode 2 : utiliser Seaborn

Vous pouvez également utiliser la fonction regplot() de la bibliothèque de visualisation Seaborn pour créer un nuage de points avec une droite de régression :

import seaborn as sns

#create scatterplot with regression line
sns.regplot(x, y, ci=None)

Nuage de points avec ligne de régression en Seaborn Python

Notez que ci=None indique à Seaborn de masquer les bandes d’intervalle de confiance sur le tracé. Vous pouvez cependant choisir de les afficher si vous le souhaitez :

import seaborn as sns

#create scatterplot with regression line and confidence interval lines
sns.regplot(x, y)

Vous pouvez trouver la documentation complète de la fonction regplot() ici .

Ressources additionnelles

Comment effectuer une régression linéaire simple en Python
Comment créer un tracé résiduel en Python

Ajouter un commentaire

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