#python #regression #seaborn
#python #регрессия #seaborn
Вопрос:
Как описано в seaborn API, следующий код создаст график линейной регрессии.
import seaborn as sns
import matplotlib.pyplot as plt
# loading dataset
penguins = sns.load_dataset("penguins")
# draw jointplot with reg kind
sns.jointplot(data=penguins, x="bill_length_mm", y="bill_depth_mm", kind="reg")
К сожалению, линии регрессии нет. Как я могу добавить строку, как в API?
Комментарии:
1. Это странно. Я попробовал код, которым вы поделились, и я вижу линию на графике. Я использую записную книжку Jupyter. Я бы посоветовал вам проверить, есть ли у вас самые последние версии обоих пакетов.
2. Спасибо за ваш ответ. Обновление этих пакетов мне не помогло.
3. Извините, это было все, что у меня есть.
Ответ №1:
Я также пытался использовать regplot()
sns.regplot(x="bill_length_mm", y="bill_depth_mm", data=penguins)
Но он также не показывал линию. Но использовать его в сочетании с jointplot
:
sns.jointplot(data=penguins, x="bill_length_mm", y="bill_depth_mm", kind="reg")
sns.regplot(x="bill_length_mm", y="bill_depth_mm", data=penguins)
Комментарии:
1. Я искал то же самое
Ответ №2:
try JointGrid it combines two plots into one. In this cat a regplot and a distplot. The regplot shows the linear regression trend and the distplot shows the data distribution in one graph
import scipy.stats as stats
g=sns.JointGrid(data=df, x="bill_length_mm", y="bill_depth_mm")
g.plot(sns.regplot, sns.distplot)
or
g=g.plot_joint(sns.kdeplot)
g=g.plot_marginals(sns.kdeplot,shade=True)
g=g.annotate(stats.pearsonr)
Комментарии:
1. часто бывает полезно устное объяснение