sklearn pipeline函数

定义:

 Pipeline(…)

类型:

 sklearn.pipeline模块中的函数

 带有最终评估器的转移管道。连续运用一系列的转换操作和一个最终的评估器。管道的中间操作必须是’transform’,也就是说,它们必须实现fit和transform方法。最后的估计器只需要实现fit方法。管道中的转换器可以使用内存参数进行缓存。

 管道的目的是组装几个步骤,这些步骤可以设置不同的参数同时进行交叉验证,因此,它可以使用它们的名称和”_“分隔的参数名称来设置各种步骤的参数,如下面的示例所示。步骤的估计器可以完全替换,通过将参数设置为另一个估计其,或者通过设置为None移除一个转换器。

 在用户指南中阅读更多信息。

输入参数:

  • 参数名:steps
  • 类型:list
  • 说明:(名称、转换)元组(实现fit/transform)的列表,按照它们被链接的顺序排列,最后一个对象是评估器

  • 参数名:memory
  • 类型: None, str or object with the joblib.Memory interface, optional
  • 说明:用于缓存管道的被训练的转换器。默认情况下,不执行缓存,如果给定的是一个字符串,那么它就是到缓存目录的路径。启用缓存可以在拟合之前出发转换器的克隆。因此,给管道的转换器实例不能直接检查。使用属性named_steps或者步骤来检查管道内的估计器,在fit耗费时间较大时,缓存转换器是有利的。

属性:

  • 参数名:named_steps
  • 类型:bunch object, a dictionary with attribute access
  • 说明:只读属性,可以通过用户给定的名字访问任何步骤,键是步骤明,值是步骤的参数。

示例:

>>> from sklearn import svm #导入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
>>> # generate some data to play with
>>> 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)
>>> clf = svm.SVC(kernel='linear')
#以下是pipeline的关键部分
>>> anova_svm = Pipeline([('anova', anova_filter), ('svc', clf)])
>>> # You can set the parameters using the names issued
>>> # For instance, fit using a k of 10 in the SelectKBest
>>> # and a parameter 'C' of the svm
# 修改转换器的参数
>>> anova_svm.set_params(anova__k=10, svc__C=.1).fit(X, y)
...                      
Pipeline(memory=None,
         steps=[('anova', SelectKBest(...)),
                ('svc', SVC(...))])
>>> prediction = anova_svm.predict(X)
>>> anova_svm.score(X, y)                        
0.829...
>>> # getting the selected features chosen by anova_filter
>>> anova_svm.named_steps['anova'].get_support()
... 
array([False, False,  True,  True, False, False, True,  True, False,
       True,  False,  True,  True, False, True,  False, True, True,
       False, False], dtype=bool)
>>> # Another way to get selected features chosen by anova_filter
>>> anova_svm.named_steps.anova.get_support()
... 
array([False, False,  True,  True, False, False, True,  True, False,
       True,  False,  True,  True, False, True,  False, True, True,
       False, False], dtype=bool)
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值