sklearn Pipeline使用
发布时间:2020-12-14 02:10:51 所属栏目:百科 来源:网络整理
导读:_ 简介 Pipeline按顺序构建一系列转换和一个模型,最后的一步是模型。Pipeline中间的步骤必须是转换过程,它们必须包含fit和transform方法。最后一步模型只要有fit方法。 Pipeline的目的是能组合好几个步骤,当设置不同参数的时候,可以在一起做交叉验证。可
_ 简介Pipeline按顺序构建一系列转换和一个模型,最后的一步是模型。Pipeline中间的步骤必须是转换过程,它们必须包含fit和transform方法。最后一步模型只要有fit方法。 Pipeline的目的是能组合好几个步骤,当设置不同参数的时候,可以在一起做交叉验证。可以通过【pipeline的名称+ “__” + 参数名称】(注意是两个下划线)的方式设置多个步骤的参数。 参数
上手使用from sklearn import svm
from sklearn.datasets import samples_generator
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import f_regression
from sklearn.pipeline import Pipeline
产生一些测试数据X,y = samples_generator.make_classification(n_informative=5,n_redundant=0,random_state=42)
选择特征# ANOVA SVM-C
anova_filter = SelectKBest(f_regression,k=5)
SVM模型clf = svm.SVC(kernel='linear')
构建pipelineanova_svm = Pipeline([('anova',anova_filter),('svc',clf)])
模型有两步,一步是最特征选择,一步是模型 设置参数anova_svm.set_params(anova__k=10,svc__C=.1)
Pipeline(steps=[('anova',SelectKBest(k=10,score_func=<function f_regression at 0x4a0f0c8>)),('svc',SVC(C=0.1,cache_size=200,class_weight=None,coef0=0.0,decision_function_shape=None,degree=3,gamma='auto',kernel='linear',max_iter=-1,probability=False,random_state=None,shrinking=True,tol=0.001,verbose=False))]) 训练模型anova_svm.fit(X,y) Pipeline(steps=[('anova',verbose=False))]) 预测结果prediction = anova_svm.predict(X) anova_svm.score(X,y) 0.77000000000000002 查看pipeline里的参数anova_svm.named_steps['anova']
SelectKBest(k=10,score_func=<function f_regression at 0x4a0f0c8>) anova_svm.named_steps['svc']
SVC(C=0.1,verbose=False) anova_svm.named_steps['anova'].get_support()
array([ True,True,False,True],dtype=bool) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |