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