sklearn pipeline_sklearn-pipeline用法实例——房价预测

【搬运自同人博客】

sklearn-pipeline机器学习实例(housing数据集) - qq_36810398的博客 - CSDN博客

一、问题描述

这个实例原型是《Hands On Machine Learning with Sklearn and Tensorflow》书第二章End-to-End Machine Learning Project的课后题,题目的解答和正文掺杂在一起,我做了一些整理,也有一些补充(所以不敢保证没有纰漏)。仅供需要的同学批判性地参考,顺便给自己当一个笔记。 :)   

数据集是来自 https://github.com/ageron/handson-ml 下的master/datasets/housing,简而言之,就是根据房子的一些属性来预测房子的价格。数据文件中一共有10个字段,具体地,特征

X={'longitude','latitude','housing_median_age','total_rooms', 'total_bedrooms','population','households','median_income','ocean_proximity'},

其中'ocean_proximity'为文本类型,表示房子靠海的程度,只有5种情况——{'NEAR BAY', '<1H OCEAN', 'INLAND', 'NEAR OCEAN', 'ISLAND'}。

标签            

Y={'median_house_value'},

为连续型数据,因此此为一个多元回归问题。该问题的示意图略图如下:

v2-1f178f7799422e396585500e20c092ac_b.jpg

二、Pipeline处理流程示意图

v2-e0b7ac38ba7b40a4a31d1cec85476a7d_b.jpg

上图中间即为该end-to-end机器学习模型的流程图(pipeline),其中两侧的6个框中的即为pipeline的组件,亦即本模型的操作。需要说明的有以下几点:

(1)本数据中“分类型数据”不含异常值,因为异常值处理没有组件;

(2)其中Imputer和StandardScaler为python自带的类,其他的类是需要自己编写;

(3)其中LabelBinary类,直接用会报错,原因见于 https://stackoverflow.com/questions/46162855/fit-transform-takes-2-positional-arguments-but-3-were-given-with-labelbinarize ,

修改方法是自己在此类的基础上做一下修改,得到新类MyLabelBinary(见代码中)。

【更详细的内容,请参考原书或下述代码】

三、实例代码

import 

上述程序的的输出结果在准确率上并不高,因为为了提高速度,GridSearchCV都是用了最简单的参数,可以扩大参数范围,提高精度。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值