Hoe u een spreidingsdiagram maakt met een regressielijn in python


Wanneer u een eenvoudige lineaire regressie uitvoert, wilt u vaak een spreidingsdiagram maken om de verschillende combinaties van x- en y-waarden te visualiseren, evenals de geschatte regressielijn.

Gelukkig zijn er twee eenvoudige manieren om dit type plot in Python te maken. In deze zelfstudie worden beide methoden uitgelegd aan de hand van de volgende gegevens:

 import numpy as np 

#createdata
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])

Methode 1: Gebruik Matplotlib

De volgende code laat zien hoe u met Matplotlib een spreidingsdiagram kunt maken met een geschatte regressielijn voor deze gegevens:

 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) 

Scatterplot met regressielijn in Python

Voel je vrij om de kleuren van de grafiek naar wens te veranderen. Zo kunt u bijvoorbeeld de afzonderlijke punten in groen en de lijn in rood wijzigen:

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

Scatterplot met regressielijn in numpy

Methode 2: Gebruik Seaborn

U kunt ook de regplot() -functie van de Seaborn-visualisatiebibliotheek gebruiken om een spreidingsdiagram met een regressielijn te maken:

 import seaborn as sns

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

Spreidingsdiagram met regressielijn in Seaborn Python

Merk op dat ci=None Seaborn vertelt de betrouwbaarheidsintervalbanden op de grafiek te verbergen. U kunt er echter voor kiezen om ze weer te geven als u dat wenst:

 import seaborn as sns

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

U kunt de volledige documentatie voor de functie regplot() hier vinden.

Aanvullende bronnen

Hoe eenvoudige lineaire regressie uit te voeren in Python
Hoe u een restplot maakt in Python

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert