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的re模块应用实例
Sep 26 Python
对于Python编程中一些重用与缩减的建议
Apr 14 Python
node.js获取参数的常用方法(总结)
May 29 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
python实现批量修改图片格式和尺寸
Jun 07 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Python换行与不换行的输出实例
Feb 19 Python
python 读取.nii格式图像实例
Jul 01 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 Python
Python pathlib模块使用方法及实例解析
Oct 05 Python
Python基于Faker假数据构造库
Nov 30 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 Ajax中文乱码问题解决方法
2009/02/27 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
javascript笛卡尔积算法实现方法
2015/04/08 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
python中正则表达式的使用详解
2014/10/17 Python
让 python 命令行也可以自动补全
2014/11/30 Python
使用python编写监听端
2018/04/12 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python绘制中国大陆人口热力图
2018/11/07 Python
python实现支付宝转账接口
2019/05/07 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
大学生毕业自我鉴定范文
2014/02/03 职场文书
生日主持词
2014/03/20 职场文书
企业文化建设实施方案
2014/03/22 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
个人学习总结范文
2015/02/15 职场文书
寒假安全保证书
2015/02/28 职场文书
公诉意见书范文
2015/06/05 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
redis复制有可能碰到的问题汇总
2022/04/03 Redis
Redis+AOP+自定义注解实现限流
2022/06/28 Redis