Pipline

 
内容简述

Pipeline可用于将多个估计量顺序链接到一个。这是有用的,因为处理数据通常有固定的步骤顺序,例如特征选择,归一化和分类。

 

Pipeline在这里有两个目的:

便捷:你只需要在你的数据上调用一次fit和predict,来匹配估计器的整个序列。

联合参数选择:您可以同时对流水线中所有估计量的参数进行网格搜索。

 

管道构造

1)基本形式:

 

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)

 

2)简写形式:

 

from sklearn.pipeline import make_pipeline

from sklearn.naive_bayes import MultinomialNB

from sklearn.preprocessing import Binarizer

 

make_pipeline(Binarizer(), MultinomialNB())

 

参数修改

可以使用<estimator>__<parameter>语法访问流水线中的估计器的参数 :

pipe.set_params(clf__C=10)

pipline用于网格搜索

from sklearn.model_selection import GridSearchCV

 

#形式:{估计器别名1__参数名称:参数列表,估计器别名2__参数名称:参数列表}

params = dict(reduce_dim__n_components=[2, 5, 10],  clf__C=[0.1, 10, 100])

 

grid_search = GridSearchCV(pipe, param_grid=params)

 

#还可以进行如下构造

from sklearn.linear_model import LogisticRegression

 

params = dict(reduce_dim=[None, PCA(5), PCA(10)], clf=[SVC(), LogisticRegression()], clf__C=[0.1, 10, 100])

 

grid_search = GridSearchCV(pipe, param_grid=params)

 

转载于:https://www.cnblogs.com/yongfuxue/p/10095476.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值