在sklearn管道中合并的多个管道?

时间:2016-03-20 12:27:48

标签: python machine-learning scikit-learn

有时我设计的机器学习管道看起来像这样:

Example pipeline

通常我必须破解这些"分裂"管道使用我自己的"组合功能"功能。但是,如果我可以将它放入sklearn Pipeline对象中,那就太棒了。我该怎么做呢? (伪代码很好。)

1 个答案:

答案 0 :(得分:7)

只要“整个数据集”表示相同的功能,这正是FeatureUnion所做的:

make_pipeline(make_union(PolynomialFeatures(), PCA()), RFE(RandomForestClassifier()))

如果要组合两组不同的功能,首先需要将它们放入单个数据集中,然后让FeatureUnion的每个分支首先选择它应该运行的功能。 [目前还没有现成的功能,但它可以通过FunctionTransformer()轻松实现,例如]