多元线性回归——波士顿房屋价值模型预测

波士顿房屋价值模型预测

import numpy as np
import pandas as pd
import matplotlib.pylab as plt
plt.rcParams['font.sans-serif']=['SimHei'] 
plt.rcParams['axes.unicode_minus']=False 
from sklearn import linear_model    
model=linear_model.LinearRegression() 

导入数据

from sklearn import datasets  #从sklearn数据集库导入boston数据
from sklearn.model_selection import train_test_split  #数据集划分包
boston =datasets.load_boston()
boston

在这里插入图片描述

转换格式

x=pd.DataFrame(boston.data)  #将data转换为Dataframe格式
x
y=boston.target
y

给x添加列名

x.columns=boston.feature_names
x

划分训练、测试数据集

x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2)

恢复索引

for i in [x_train,x_test]:
    i.index=range(i.shape[0])

数据标准化

x_train=(x_train-x_train.mean())/x_train.std()
x_test=(x_test-x_test.mean())/x_test.std()
x_test

拟合

model.fit(x_train,y_train)

预测

y_pre=model.predict(x_test)
y_pre

截距

model.intercept_

斜率

model.coef_
#将系数和对应名称组合起来
a=[*zip(x_train.columns,model.coef_)]
print(a)
b=[*zip(x_train.columns,abs(model.coef_))]
print(b)
c=pd.DataFrame(b).sort_values(by=1)
print(c)

c:
在这里插入图片描述

c.iloc[10:]

结果:
在这里插入图片描述

评估模型

# 画图
plt.figure(figsize=(15,8),dpi=80)
plt.plot(range(len(y_test)),sorted(y_test),label="真实")
plt.plot(range(len(y_pre)),sorted(y_pre),label="预测")
plt.legend()
plt.show()

在这里插入图片描述

两个指标

#MSE用来检测模型的预测值和真实值之间的偏差,值越大,表明预测效果越差
from sklearn.metrics import mean_squared_error as MSE  #均方误差
MSE(y_pre,y_test)  #y_pre对x_test的预测
from sklearn.metrics import r2_score
r2=model.score(x_test,y_test)
r2         #  r2 越接近于1,表示回归的效果越好
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值