Jak utworzyć wykres punktowy z linią regresji w pythonie


Często podczas wykonywania prostej regresji liniowej możesz chcieć utworzyć wykres rozrzutu, aby zwizualizować różne kombinacje wartości x i y, a także szacowaną linię regresji.

Na szczęście istnieją dwa proste sposoby tworzenia tego typu fabuły w Pythonie. W tym samouczku wyjaśniono obie metody, korzystając z następujących danych:

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

Metoda 1: Użyj Matplotlib

Poniższy kod pokazuje, jak utworzyć wykres rozrzutu z szacunkową linią regresji dla tych danych za pomocą 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) 

Wykres punktowy z linią regresji w Pythonie

Możesz dowolnie zmieniać kolory wykresu. Oto jak na przykład zmienić poszczególne punkty na zielone, a linię na czerwoną:

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

Wykres rozrzutu z linią regresji w numpy

Metoda 2: Użyj Seaborn

Możesz także użyć funkcji regplot() biblioteki wizualizacji Seaborn, aby utworzyć wykres rozrzutu z linią regresji:

 import seaborn as sns

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

Wykres punktowy z linią regresji w Seaborn Python

Należy zauważyć, że ci=None mówi Seabornowi, aby ukrył na wykresie pasma przedziałów ufności. Jeśli jednak chcesz, możesz je wyświetlić:

 import seaborn as sns

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

Pełną dokumentację funkcji regplot() znajdziesz tutaj .

Dodatkowe zasoby

Jak wykonać prostą regresję liniową w Pythonie
Jak utworzyć wykres resztkowy w Pythonie

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *