线性_回归_波士顿房价预测

from sklearn.datasets import load_boston
boston = load_boston()
#输出数据描述
print(boston.DESCR)
#从sklearn.cross_validation导入数据分割器
from sklearn.cross_validation import train_test_split
#导入numpy 并重名为np
import numpy as np

X=boston.data
y=boston.target
print(X)
print("==============target===============")
print(y)
x_train,x_test,y_train,y_test = train_test_split(X,y,random_state=33,test_size=0.25)
#分析回归目标值的差异
print('最大值为:',np.max(boston.target))
print('最小值为:',np.min(boston.target))
print('均值为:',np.mean(boston.target))

print('训练数据:',x_train)
print('训练数据标签:',y_train)
from sklearn.preprocessing import StandardScaler
#分别初始化对特征和目标值的标准化
ss_x = StandardScaler()
ss_y = StandardScaler()
#分别对训练和训练数据的特征以及目标值进行标准化处理
x_train=ss_x.fit_transform(x_train)
x_test=ss_x.transform(x_test)

y_train=np.array(y_train).reshape(-1,1)#一列
y_train=ss_y.fit_transform(y_train)
y_test=np.array(y_test).reshape(-1,1)#一列
y_test=ss_y.transform(y_test)
from sklearn.linear_model import  LinearRegression
#使用默认的配置初始化线性回归器LinearRegression
lr=LinearRegression()
#使用训练数据进行参数估计
lr.fit(x_train,y_train)
#对测试数据进行回归预测
lr_y_predict = lr.predict(x_test)

print(y_test[0:10])
print(lr_y_predict[0:10])
from sklearn.linear_model import  SGDRegressor
#使用默认的配置初始化线性回归器SGDRegressor
sgdr = SGDRegressor()
#使用训练数据进行参数估计
sgdr.fit(x_train,y_train)
sgdr_y_predict = sgdr.predict(x_test)
#使用LinearRegression模型自带的评估模块,输出结果
print("线性回归采用默认参数的评估为:",lr.score(x_test,y_test))
from sklearn.metrics import r2_score,mean_squared_error,mean_absolute_error
print('r2_score:',r2_score(y_test,lr_y_predict))
print('mean_squared_error:',mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_predict)))
print('mean_absolute_error:',mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(lr_y_predict)))
#使用SGDRegressor模型自带的评估模块,输出结果
print("SGDRegressor模型为:",sgdr.score(x_test,y_test))
print('r2_score:',r2_score(y_test,sgdr_y_predict))
print('mean_squared_error:',mean_squared_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(sgdr_y_predict)))
print('mean_absolute_error:',mean_absolute_error(ss_y.inverse_transform(y_test),ss_y.inverse_transform(sgdr_y_predict)))

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WJWFighting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值