有时我设计的机器学习管道看起来像这样:
通常我必须破解这些"分裂"管道使用我自己的"组合功能"功能。但是,如果我可以将它放入sklearn Pipeline对象中,那就太棒了。我该怎么做呢? (伪代码很好。)
答案 0 :(得分:7)
只要“整个数据集”表示相同的功能,这正是FeatureUnion
所做的:
make_pipeline(make_union(PolynomialFeatures(), PCA()), RFE(RandomForestClassifier()))
如果要组合两组不同的功能,首先需要将它们放入单个数据集中,然后让FeatureUnion
的每个分支首先选择它应该运行的功能。 [目前还没有现成的功能,但它可以通过FunctionTransformer()轻松实现,例如]