如何使用scikit-learn删除多项式回归中的交互项?

时间:2016-08-03 05:46:19

标签: python-2.7 machine-learning scikit-learn non-linear-regression

我正在使用scikit-learn运行polynomial regression。我有大量的变量(准确地说是23个),我试图使用2次多项式回归来回归。

interaction_only = True,仅保留交互项,例如X 1 * Y 1 ,X 2 * Y 2 < / sub>,依此类推。

我只想要其他术语,即X 1 ,X 1 2 ,Y 1 ,Y 1 2 ,依此类推。

有没有这个功能?

2 个答案:

答案 0 :(得分:5)

没有这样的功能,因为转换可以用numpy本身轻松表达。

X = ... 
new_X = np.hstack((X, X**2))

并且类似地,如果您想要添加到k

的所有内容
new_X = np.hstack((X**(i+1) for i in range(k)))

答案 1 :(得分:0)

我知道这个帖子太老了。但是对于像我这样刚入门的人来说,可以使用 petsy。查看此处讨论的答案-> how to the remove interaction-only columns from sklearn.preprocessing.PolynomialFeatures