scikit-learn:4.1. Pipeline and FeatureUnion: combining estimators(特征与预测器结合;特征与特征结合)

带病在网吧里写,,,,给点鼓励吧。。。

http://scikit-learn.org/stable/modules/pipeline.html

 

 

1、pipeline和featureUnion是干什么的:

pipeline之前已经介绍过了,结合transformer和estimator。

featureUinon听名字就知道,将多个transformer的结果vector拼接成大的vector。



2、两者的区别:

前者相当于feature串行处理,后一个transformer处理前一个transformer的feature结果;

后者相当于feature的并行处理,将所有transformer的处理结果拼接成大的feature vector。



3、pipeline:chaining estimators

Pipeline can be used to chain multiple estimators into one. 因为我们处理数据的过程一般都是比较固定的,比如特征选择、规范化、分类。所以pipeline主要由两个目的:

方便:fit、predict一次即可处理所有estimators的结果。

拼接参数选择:仅需一次即可grid search所有estimators的所有parameters。


pipeline的所有的estimators(除了最后一个)都必须是transformer(有transform方法),最后一个estimator可以使任何类型(transformer、classifier)


使用:通过一组(key, value)对来串联所有的estimators,key是自己对每一步骤的随意的命名,value是一个estimator object,例如:

>>> from sklearn.pipeline import Pipeline
>>> from sklearn.svm import SVC
>>> from sklearn.decomposition import PCA
>>> estimators = [('reduce_dim', PCA()), ('svm', SVC())]
>>> clf = Pipeline(estimators)
>>> clf 
Pipeline(steps=[('reduce_dim', PCA(copy=True, n_components=None,
    whiten=False)), ('svm', SVC(C=1.0, cache_size=200, class_weight=None,
    coef0=0.0, degree=3, gamma=0.0, kernel='rbf', max_iter=-1,
    probability=False, random_state=None, shrinking=True, tol=0.001,
    verbose=False))])
每一个阶段的estimators存放在 steps属性中,可以通过索引这样取出每一个estimators:

>>> clf.steps[0]
('reduce_dim', PCA(copy=True, n_components=None, whiten=False))
也可以通过name这样取出每一个estimators( as a 
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值