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 相关文章推荐
urllib2自定义opener详解
Feb 07 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python中设置变量作为默认值时容易遇到的错误
Apr 03 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
Feb 07 Python
PyQt打开保存对话框的方法和使用详解
Feb 27 Python
python利用re,bs4,requests模块获取股票数据
Jul 29 Python
深入学习python多线程与GIL
Aug 26 Python
python+opencv边缘提取与各函数参数解析
Mar 09 Python
使用npy转image图像并保存的实例
Jul 01 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
浅谈Python __init__.py的作用
Oct 28 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 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
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
php设计模式 Singleton(单例模式)
2011/06/26 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
2018/04/08 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
javascript定义变量时带var与不带var的区别分析
2015/01/12 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
python DataFrame转dict字典过程详解
2019/12/26 Python
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
幼儿园教师工作制度
2014/01/22 职场文书
数控技校生自我鉴定
2014/04/19 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
答谢会策划方案
2014/05/12 职场文书
生物科学专业自荐书
2014/06/20 职场文书
电话客服工作职责
2014/07/27 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
公司会议开幕词
2016/03/03 职场文书
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang