我想问一下是否有人可以帮助我。 我想在python中创建5个输入变量的“二次”回归,并获得回归二次方程。
在matlab中我可以使用函数
fitlm(ds,'quadratic')
ds是一个nx5数组。 输出是(示例):
Linear regression model:
x6 ~ [Linear formula with 21 terms in 5 predictors]
估计系数:
估计SE tStat pValue
___________ __________ __________ __________
(Intercept) 3.8574 0.60766 6.348 2.296e-08
x1 0.2847 0.26311 1.0821 0.28316
x2 0.0022534 0.0046868 0.48079 0.63226
x3 -0.0092632 0.010228 -0.9057 0.36839
x4 -0.0039061 0.00043497 -8.9802 4.7159e-13
x5 0.0014984 0.00061604 2.4323 0.017722
x1:x2 -0.004019 0.0014052 -2.8602 0.0056639
x1:x3 -1.1981e-05 0.0021956 -0.0054568 0.99566
x1:x4 0.00011539 0.00011732 0.98356 0.32893
x1:x5 0.00011744 0.00017357 0.67661 0.50102
x2:x3 1.6354e-06 4.3911e-05 0.037243 0.9704
x2:x4 2.9589e-06 2.3464e-06 1.2611 0.21173
x2:x5 3.0621e-06 3.4713e-06 0.8821 0.38092
x3:x4 2.2725e-06 3.6662e-06 0.61986 0.53749
x3:x5 -1.4034e-05 5.7374e-06 -2.446 0.017117
x4:x5 2.5923e-06 2.8928e-07 8.9614 5.0922e-13
x1^2 -0.14307 0.052186 -2.7415 0.0078616
x2^2 -4.5755e-05 2.2194e-05 -2.0616 0.043186
x3^2 2.5903e-05 5.4432e-05 0.47587 0.63574
x4^2 1.1868e-06 1.4496e-07 8.1874 1.2233e-11
x5^2 -2.1103e-05 6.8098e-07 -30.989 4.7528e-41
我怎么能在python中做同样的事情? 我尝试使用sklearn中的linear_model.LinearRegression()和PolynomialFeatures(),但它现在只返回了5个术语(线性的)。
我附上一些示例值。 第1-5行包含参数,Row6包含目标。
x1 x2 x3 x4 x5 x6
1.75 -2.5 76 1050 0 0.99
1 10 84 900 0 1.1598
1.5 10 84 900 100 1.2034
1.5 10 68 900 100 1.3544
1.5 10 84 900 200 0.8591
1.5 10 84 900 200 0.8595
1.25 -2.5 76 1050 100 1.072
1.25 22.5 76 750 200 1.0426
1 10 84 900 200 0.8588
1.25 -2.5 92 750 100 1.3811
1.25 22.5 92 1050 100 1.0213
2 10 84 900 0 1.0336
非常感谢你!
问候! AF