【问题标题】:How to build a regression model in python?如何在python中建立回归模型?
【发布时间】:2017-06-02 18:45:39
【问题描述】:

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

x_1y是二次关系,x_2y是线性关系;但不确定x_2 是否与y 有二次关系,也不确定x_1x_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_fit,但似乎它不适用于多个自变量。那么有没有办法在python中做到这一点?

【问题讨论】:

  • 为什么不使用 ML lib 中的函数,例如 scikit-learn.org/stable/index.html ?自己实现一切重要吗?如果是,那么您应该使用此功能检查Cost FunctionOptimizer,以找出您的最佳参数,例如Gradient Descent
  • @MathiasDesch 好吧,找出获取系数的方法,但似乎没有办法评估 sklearn 中的置信区间,是吗...

标签: python python-3.x regression data-fitting


【解决方案1】:

python 中的Sckit-learn 包包括线性和多项式回归模型。看看链接:linear and polynomial regression models

基本上,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

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

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

【讨论】:

    猜你喜欢
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    相关资源
    最近更新 更多