多项式特征转换



在为我的一组功能进行一些多项式变换时,我正在阅读sklearn.preprocessing PolynomialFeatures变形金刚,但是我意识到转换包括所有可能的组合,甚至使用interaction_only=True参数。我想知道是否有一种方法可以指定仅需要一些交互(组合(。例如,

给定以下数据框:

    a   b   c  Z   X   W
0   1   2   3  0   1   0
1   1   2   3  1   0   1
2   1   2   3  0   0   1

假设A,B,C属于某种功能,而Z W X属于其他功能,我们只是对来自不同类型的功能之间的交互感兴趣。

因此,所需的输出将仅包含不同类型功能之间的原始功能和相互作用。当然,通过设置Interactaction_only = true,您只需获得"真实互动",避免了a^2,z^2等功能...

         a   b   c   Z  X   W  a*Z  a*X   a*W   b*Z  b*X  b*W  c*Z  c*X  c*W
 0       0   1   2   3  0   1   0    0     1     0    0    2    0    0    3
 3       1   1   2   3  1   0   1    1     0     1    2    0    2    3    0
 3       2   1   2   3  0   0   1    0     0     1    0    0    2    0    0

我只想在A,B,C和Z,X,W列之间执行互动并避免使用a*cZ*X

等组合

似乎没有任何方法可以获得您与Scikit Learn提供的变压器谈论的转换,但是您可以构建自己的变压器来点点

  • 您可以删除与自定义变压器转换后不感兴趣的互动,请参见此处
  • 创建您的自定义多项式功能变压器,如下所述

相关内容

  • 没有找到相关文章

最新更新