如何在python中构建回归模型?

如何在python中构建回归模型?,python,python-3.x,regression,data-fitting,Python,Python 3.x,Regression,Data Fitting,我想为数据集建立回归模型,我已经知道: x_1和y是二次关系,x_2和y是线性关系;但不确定x_2是否与y有二次关系,也不确定x_1和x_2是否有某种交互作用 x_1: ['66.29', '40.96', '73.00', '45.01', '57.20', '26.85', '38.12', '35.84', '75.80', '37.41', '54.38', '46.19', '46.13', '30.37', '39.06', '79.38', '52.77', '55.92'] x_

我想为数据集建立回归模型,我已经知道:

x_1
y
是二次关系,
x_2
y
是线性关系;但不确定
x_2
是否与
y
有二次关系,也不确定
x_1
x_2
是否有某种交互作用

x_1: ['66.29', '40.96', '73.00', '45.01', '57.20', '26.85', '38.12', '35.84', '75.80', '37.41', '54.38', '46.19', '46.13', '30.37', '39.06', '79.38', '52.77', '55.92']
x_2: ['7.00', '5.00', '10.00', '6.00', '4.00', '5.00', '4.00', '6.00', '9.00', '5.00', '2.00', '7.00', '4.00', '3.00', '5.00', '1.00', '8.00', '6.00'] 
y: ['196.00', '63.00', '252.00', '84.00', '126.00', '14.00', '49.00', '49.00', '266.00', '49.00', '105.00', '98.00', '77.00', '14.00', '56.00', '245.00', '133.00', '133.00']
所以我构造了这个函数:


但我不知道如何评估它,我尝试了
scipy
中的
curve\u fit
,但似乎它对多个自变量不起作用。那么在python中有没有一种方法可以做到这一点呢?

python中的Sckit学习包包括线性回归模型和多项式回归模型。请查看以下链接:

基本上,
y=c1+c2*x1+c3*x2+c4*x1^2+c5*x2^2+c6*x1*x2
可以通过定义新变量z=[x1,x2,x1^2,x2^2,x1*x2]进行转换

通过这种转换,方程可以改写为

y=c1+c2 z1+c3*z2+c4*z3+c5*z4+c6*z5

因此,多项式拟合问题现在已简化为线性问题,并且基于多项式特征训练的线性模型能够准确地恢复输入多项式系数


您可以在上面的链接中找到几个多项式回归的示例。

为什么不使用类似ML lib的函数?你自己实现每件事是否重要?如果是,那么您应该检查
成本函数
优化器
,使用此函数找出最佳参数,如
梯度下降
@MathiasDesch好吧,找出获得系数的方法,但似乎无法评估sklearn中的置信区间,是不是。。。