岭回归房价预测训练模型的保存与加载

今日分享:岭回归房价预测、训练模型的保存与加载

一:流程

  1. 波士顿地区房价数据获取,数据来自于sklearn自带数据集;

  2. 波士顿地区房价数据分割;

  3. 训练与测试数据标准化处理;

  4. 使用正则化的线性回归-Ridge 岭回归模型对房价进行预测

二:数据集介绍

由于之前已介绍过如何查看自带数据集的各项信息,这里不再赘述,可参考K-近邻:鸢尾花(iris数据集)分类

三:已训练模型的保存与加载

#sklearn中自带的模块
from sklearn.externals import joblib

# 举例
# 保存训练好的模型,格式为pkl文件
joblib.dump(rd, "rd.pkl")
# 加载模型
rd = joblib.load('rd.pkl')
# 具体应用可参考下面的房价预测代码

四:代码演示

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression,SGDRegressor,Ridge
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error
from sklearn.externals import joblib

注意:在下面的代码中,小编提前运行一遍,以便将rd训练结果保存到本地pkl文件,所以下面只演示通过加载文件来进行回归预测

def mylinear():
    '''线性回归预测房子价格'''
    
    #获取数据
    lb = load_boston()
#     print(lb.data.shape)
    
    #分割数据集到训练集和测试集
    x_train,x_test,y_train,y_test = train_test_split(lb.data,lb.target,test_size=0.25)
    
    #线性回归
    #特征值和目标值都必须进行标准化处理
    #实例标准化
    std_x = StandardScaler()
    
    x_train = std_x.fit_transform(x_train)
    x_test = std_x.transform(x_test)
    
    
    #目标值标准化
    std_y = StandardScaler()
    
    #需要将一维数组形式的
    y_train = std_y.fit_transform(y_train.reshape(-1,1))
    y_test = std_y.transform(y_test.reshape(-1,1))
    
   
#     '''岭回归进行房价预测'''
#     rd = Ridge(alpha=1.0)
    
#     rd.fit(x_train, y_train)
    
#     # 保存训练好的模型
#     joblib.dump(rd, "rd.pkl")
    
#     print('保存成功')
    
    # 加载已运行一次保存好的模型文件
    rd = joblib.load('rd.pkl')
    
    print(rd.coef_)
    
    # 预测测试集的房子价格
    y_rd_predict = std_y.inverse_transform(rd.predict(x_test))
    
#     print("岭回归测试集里面每个房子的预测价格:", y_rd_predict)
    
    print("岭回归均方误差:", mean_squared_error(std_y.inverse_transform(y_test), y_rd_predict))

    
if __name__ == '__main__':
    mylinear()

输出结果

[[-0.08647201  0.09927995  0.00135953  0.08665024 -0.23339298  0.27244918
   0.03623914 -0.32155484  0.28463043 -0.20056145 -0.21004638  0.07625221
  -0.44287302]]
岭回归均方误差: 21.810770452716646

源代码已上传至QQ群,如若需要请加群获取



Python基础知识专题文章集锦

Python爬虫专题文章集锦

Python数据分析专题文章集锦

Python数据可视化专题文章集锦


公众号     QQ群

扫QQ群二维码进交流学习群

或在后台回复:加群

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值