python中sklearn的pipeline模块实例详解


Posted in Python onMay 21, 2020

最近在看《深度学习:基于Keras的Python实践(魏贞原)》这本书,书中8.3创建了一个Scikit-Learn的Pipeline,首先标准化数据集,然后创建和评估基线神经网络模型,代码如下:

# 数据正态化,改进算法
steps = []
steps.append(('standardize', StandardScaler()))
steps.append(('mlp', model))
pipeline = Pipeline(steps)
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)
results = cross_val_score(pipeline, x, Y, cv=kfold)
print('Standardize: %.2f (%.2f) MSE' % (results.mean(), results.std()))

而PipeLine是什么来的呢?

Pipelines and composite estimators(官方文档)

转换器通常与分类器,回归器或其他估计器组合在一起,以构建复合估计器。最常用的工具是Pipeline。Pipeline通常与FeatureUnion结合使用,FeatureUnion将转换器的输出连接到一个复合特征空间中。 TransformedTargetRegressor处理转换目标(即对数变换y)。相反,Pipelines仅转换观察到的数据(X)。

Pipeline可用于将多个估计器链接为一个。这很有用,因为在处理数据时通常会有固定的步骤顺序,例如特征选择,归一化和分类。Pipeline在这里有多种用途:

  • 方便和封装:只需调用一次fit并在数据上进行一次predict即可拟合整个估计器序列。
  • 联合参数选择:可以一次对Pipeline中所有估计器的参数进行网格搜索(grid search )。
  • 安全性:通过确保使用相同的样本来训练转换器和预测器,Pipeline有助于避免在交叉验证中将测试数据的统计信息泄漏到经过训练的模型中。

Pipeline是使用 (key,value) 对的列表构建的,其中key是包含要提供此步骤名称的字符串,而value是一个估计器对象:

from sklearn.pipeline import Pipeline
from sklearn.svm import SVC
from sklearn.decomposition import PCA
estimators = [('reduce_dim', PCA()), ('clf', SVC())]
pipe = Pipeline(estimators)
pipe

output:

python中sklearn的pipeline模块实例详解

函数make_pipeline是构建pipelines的简写;它接受不同数量的估计器,并返回一个pipeline。它不需要也不允许命名估计器。而是将其名称自动设置为其类型的小写字母:

from sklearn.pipeline import make_pipeline
from sklearn.naive_bayes import MultinomialNB
from sklearn.preprocessing import Binarizer
make_pipeline(Binarizer(), MultinomialNB())

output:

python中sklearn的pipeline模块实例详解

总结

到此这篇关于python中sklearn的pipeline模块的文章就介绍到这了,更多相关python pipeline模块内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Fiddler如何抓取手机APP数据包
Jan 22 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
Jan 15 Python
Python3匿名函数lambda介绍与使用示例
May 18 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
Jun 10 Python
网易2016研发工程师编程题 奖学金(python)
Jun 19 Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
jupyter实现重新加载模块
Apr 16 Python
python输入中文的实例方法
Sep 14 Python
python Paramiko使用示例
Sep 21 Python
Python字典取键、值对的方法步骤
Sep 30 Python
浅谈Python中的正则表达式
Jun 28 Python
Python使用re模块验证危险字符
May 21 #Python
Django 解决新建表删除后无法重新创建等问题
May 21 #Python
python 解决Fatal error in launcher:错误问题
May 21 #Python
django实现日志按日期分割
May 21 #Python
Django之富文本(获取内容,设置内容方式)
May 21 #Python
使用Python防止SQL注入攻击的实现示例
May 21 #Python
Django的ListView超详细用法(含分页paginate)
May 21 #Python
You might like
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
Yii调试SQL的常用方法
2014/07/09 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
ExtJS 简介 让你知道extjs是什么
2008/12/29 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
js判断变量初始化的三种形式及推荐用的形式
2014/07/22 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
javascript 实现动态侧边栏实例详解
2016/11/11 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
学习雷锋精神演讲稿
2014/05/10 职场文书
大一新生检讨书
2014/10/29 职场文书
地道战观后感2000字
2015/06/04 职场文书
律政俏佳人观后感
2015/06/09 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
高二语文教学反思
2016/02/16 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js