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

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

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

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

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

Способ 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) 
Диаграмма рассеяния с линией регрессии в морском Python

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

import seaborn as sns

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

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.