Как создать диаграмму рассеяния с линией регрессии в python


Часто при выполнении простой линейной регрессии вам может потребоваться создать диаграмму рассеяния для визуализации различных комбинаций значений x и y, а также предполагаемой линии регрессии.

К счастью, в Python есть два простых способа создать график такого типа. В этом руководстве объясняются оба метода с использованием следующих данных:

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

Способ 1: используйте Matplotlib

Следующий код показывает, как создать диаграмму рассеяния с предполагаемой линией регрессии для этих данных с помощью 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) 

График рассеяния с линией регрессии в Python

Не стесняйтесь менять цвета диаграммы по своему усмотрению. Например, вот как можно изменить цвет отдельных точек на зеленый, а линию на красный:

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

Диаграмма рассеяния с линией регрессии в numpy

Способ 2: используйте Seaborn

Вы также можете использовать функцию regplot() библиотеки визуализации Seaborn для создания диаграммы рассеяния с линией регрессии:

 import seaborn as sns

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

График рассеяния с линией регрессии в Seaborn Python

Обратите внимание, что ci=None указывает Сиборну скрыть полосы доверительных интервалов на графике. Однако вы можете выбрать их отображение, если хотите:

 import seaborn as sns

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

Полную документацию по функции regplot() вы можете найти здесь .

Дополнительные ресурсы

Как выполнить простую линейную регрессию в Python
Как создать остаточный график в Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *