加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX学习:sklearn Pipeline使用

发布时间:2020-12-13 17:34:58 所属栏目:Linux 来源:网络整理
导读:《LINUX学习:sklearn Pipeline使用》要点: 本文介绍了LINUX学习:sklearn Pipeline使用,希望对您有用。如果有疑问,可以联系我们。 简介 Pipeline按顺序构建一系列转换和一个模型,最后的一步是模型.Pipeline中间的步骤必须是转换过程,它们必须包含fit和tr

《LINUX学习:sklearn Pipeline使用》要点:
本文介绍了LINUX学习:sklearn Pipeline使用,希望对您有用。如果有疑问,可以联系我们。

简介

Pipeline按顺序构建一系列转换和一个模型,最后的一步是模型.Pipeline中间的步骤必须是转换过程,它们必须包含fit和transform办法.最后一步模型只要有fit办法.

Pipeline的目的是能组合好几个步骤,当设置分歧参数的时候,可以在一起做交叉验证.可以通过【pipeline的名称+ “__” + 参数名称】(注意是两个下划线)的方式设置多个步骤的参数.

参数

名称 类型 说明
steps list 包含(name,transform)元组的list类型,依照元组的顺序形成一个链,最后一步是模型.
named_steps dict 只读的属性,用户通过设置的名称可以读取相应步骤的参数,keys是步骤名称,values是步骤参数

上手使用

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')

?

构建pipeline

anova_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)

本文永远更新链接地址

学习更多LINUX教程,请查看站内专栏,如果有LINUX疑问,可以加QQ交流《LINUX学习:sklearn Pipeline使用》。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读