#因为房价分析设计多个维度,不方便进行可视化显示,为了实现可视化,
#我们只选取其中的一个维度(RN),并画出直线,实现拟合。
lr = LinearRegression(alpha=0.0005,times=20)
t = data.sample(len(data),random_state = 0)
train_X = t.iloc[:400,5:6]
train_y = t.iloc[:400,-1]
test_X = t.iloc[400:,5:6]
test_y = t.iloc[400,-1]
#对数据进行标准化处理
s = StandardScaler()
train_X = s.fit_transform(train_X)
test_X = s.transform(test_X)
s2 = StandardScaler()
train_y = s2.fit_transform(train_y)
test_y =s2.transform(test_y)
lr.fit(train_X, train_y)
result = lr.predict(test_X)
display(np.mean((result - test_y)**2))
# # plt.scatter(train_X["rm"],train_y)
# plt.scatter(train_X["rm"], train_y)
#查看方程系数
display(lr.w_)
#构建方程 y = -1.07513998e-15-4.20714450e-01*x
x=np.arange(-5,5,0.1)
y = -1.07513998e-15-4.20714450e-01*x
plt.plot(x,y,"r")
plt.plot(x,lr.predict(x.reshape(-1,1)),'r')




