我正在学习有关熊猫的管道和要素联合的信息。我了解管道的工作原理,这有助于将一系列转换应用于给定的数据集。但是,我对要素联合感到困惑。我已经读过docs,上面说变压器是并联使用的,然后将结果串联起来。
对此我有疑问,是我们将所有变形器应用于整个数据集,还是仅将不同的变形器应用于所选要素?如果对于整个数据集,我们如何将结果连接起来?另外,在一般情况下我应该使用FeatureUnion吗?
答案 0 :(得分:3)
FeatureUnion
用于要将不同类型的变换应用于特征时。可能是对于同一组功能,您想要应用多种类型的转换,并希望将所有这些转换的组合用作新功能。
the documentation here中的解释应该可以使您有所了解。
我认为您在阅读当前版本文档后感到困惑。先前FeatureUnion
在版本0.20中用于执行ColumnTransformer
的操作。在这里比较最新的示例:
此处具有先前版本的文档:
您会发现相似之处。
您可以尝试在Stackoverflow上搜索以找到FeatureUnion的不同用例。如果仍然不满意,请随时提出更多具体问题。了解您要对数据集进行的操作可能会有所帮助。
更新评论:
功能数量可能会增加或减少。如果您不将原始功能保留在转换中,FeatureUnion
将不会保留。
以这个例子为例:
estimators = [('linear_pca', PCA(n_components=5)),
('kernel_pca', KernelPCA(n_components=10))]
combined = FeatureUnion(estimators)
假设原始数据具有100个功能。上面的FeatureUnion将仅返回15个新功能。
PCA将获得您的全部100个功能并将其转换为仅保留5个组件,这些组件将返回给FeatureUnion。
同样,KernelPCA还将获得您的全部100个功能,并在转换后的数据中保留10个组件。
FeatureUnion然后将这5个和10个功能串联起来,以向您返回15个新功能。