在对我的一组特征进行多项式变换时,我正在阅读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属于另一种特征,而我们只是对不同类型的特征之间的相互作用感兴趣。
因此,所需的输出将仅包含原始特征以及不同类型特征之间的交互。当然,通过设置interact_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*c
或Z*X