《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 svmfrom sklearn.datasets import samples_generatorfrom sklearn.feature_selection import SelectKBestfrom sklearn.feature_selection import f_regressionfrom sklearn.pipeline import Pipeline
发生一些测试数据
X,y = samples_generator.make_classification(n_informative=5,n_redundant=0,random_state=42)
选择特性
# ANOVA SVM-Canova_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使用》。
总结以上是内存溢出为你收集整理的LINUX学习:sklearn Pipeline使用全部内容,希望文章能够帮你解决LINUX学习:sklearn Pipeline使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)