【发布时间】:2019-12-23 09:38:59
【问题描述】:
我在不使用内置函数的情况下手动尝试构建线性回归模型以了解目的。我在绘制回归线时遇到错误。请帮我解决它。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import seaborn as sb
data = {'X': list(np.arange(0,10,1)), 'Y': [1,3,2,5,7,8,8,9,10,12]}
df = pd.DataFrame(data)
df2 = pd.DataFrame(np.ones(10), columns = ['ones'])
df_new = pd.concat([df2,df], axis = 1)
X = df_new.loc[:, ['ones', 'X']].values
Y = df_new['Y'].values.reshape(-1,1)
theta = np.array([0.5, 0.2]).reshape(-1,1)
Y_pred = X.dot(theta)
sb.lineplot(df['X'].values.reshape(-1,1),Y_pred)
plt.show()
错误信息:
如果使用所有标量值,则必须传递一个索引
【问题讨论】:
-
你在哪一行得到这个?你能告诉我
print(pd.__version__)的输出是什么吗? -
这一行出错:sb.lineplot(df['X'].values.reshape(-1,1),Y_pred)
-
我想绘制一个海底线图
标签: python-3.x matplotlib seaborn