在不组合特征的情况下运行多项式回归

时间:2019-02-11 22:14:01

标签: python scikit-learn regression polynomials non-linear-regression

我正在为p进行多项式回归。为简单起见,我们在此问题中使用订单p = 2

假设我们有X,具有两个功能x1, x2y。我正在尝试对...的多项式回归

y = ε + α + β1•x1 + β2•x2 + β3•x1^2 + β4•x2^2

我发现sklearn有一个sklearn.preprocessing.PolynomialFeatures。但是,如果我使用阶p = 2,它会自动给出特征的组合。将会导致以下结果的回归:

y = ε + α + β1•x1 + β2•x2 + β3•x1^2 + β4•x2^2 + β5•x1x2

但是,我不需要功能的组合,例如x1x2之类的东西。是否有任何软件包可以按我的意愿进行多项式回归?

谢谢!

2 个答案:

答案 0 :(得分:1)

TBH,这对我来说似乎很奇怪。交互功能产生了很多强度的多边形功能。

我很确定没有内置的东西,但是

  • 您可以查看PolynomialFeatures预处理程序,并进行修改。您需要“恢复” interaction_only参数的逻辑
  • 只要构建您的预处理器,您的情况就很简单,.fit会像concat(a, a**2)一样

答案 1 :(得分:1)

numpy.polynomial.polynomial.polyfit似乎可以满足您的需求。

对于更具体的需求,请使用此statistics tool