当前位置: 代码迷 >> python >> 理解FeatureUnions(pandas)工作时出现困惑
  详细解决方案

理解FeatureUnions(pandas)工作时出现困惑

热度:131   发布时间:2023-07-16 10:07:03.0

我正在学习有关熊猫的管道和要素联合的信息。 我了解管道的工作原理,这有助于将一系列转换应用于给定的数据集。 但是,我对要素联合感到困惑。 我已经看过 ,上面说变压器是并联使用的,然后将结果串联起来。

我对此感到怀疑,是将所有变形器应用于整个数据集,还是仅将不同的变形器应用于所选要素? 如果对于整个数据集,我们如何将结果连接起来? 此外,是否有任何我应该使用FeatureUnion的常规用例?

当您想对FeatureUnion应用不同类型的转换时,将使用FeatureUnion 可能是对于同一组功能,您想要应用多种类型的转换,并希望将所有这些转换的组合用作新功能。

的解释应该给您一些想法。

我认为您在阅读当前版本文档后感到困惑。 以前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个新功能。

  相关解决方案