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 相关文章推荐
在漏洞利用Python代码真的很爽
Aug 26 Python
介绍Python中的一些高级编程技巧
Apr 02 Python
学习Python selenium自动化网页抓取器
Jan 20 Python
django使用LDAP验证的方法示例
Dec 10 Python
python实现控制台打印的方法
Jan 12 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
详解python中的线程与线程池
May 10 Python
Django的models模型的具体使用
Jul 15 Python
python用quad、dblquad实现一维二维积分的实例详解
Nov 20 Python
opencv3/python 鼠标响应操作详解
Dec 11 Python
Python实现实时数据采集新型冠状病毒数据实例
Feb 04 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 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
PHP自动更新新闻DIY
2006/10/09 PHP
PHP个人网站架设连环讲(四)
2006/10/09 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
create-react-app 修改为多入口编译的方法
2018/08/01 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
Python实现爬取并分析电商评论
2020/06/19 Python
美国办公用品购物网站:Quill.com
2016/09/01 全球购物
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
银行会计职员个人的自我评价
2013/09/29 职场文书
经典优秀个人求职信分享
2013/12/12 职场文书
促销活动方案模板
2014/02/24 职场文书
学风建设演讲稿
2014/09/12 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
python实现自动清理文件夹旧文件
2021/05/10 Python
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python