【问题标题】:Dynamically create SciPy curve_fit function动态创建 SciPy curve_fit 函数
【发布时间】:2021-02-16 15:53:48
【问题描述】:

这里太菜鸟了。

我正在围绕 scipy.optimize.curve_fit 创建一个用于多元回归的包装器。 我能够成功运行带有两个或三个自变量的香草版本 -

两个自变量-

def fn(x, a, b1, b2):
    return a + b1*x[0] + b2*x[1]

popt, pcov = curve_fit(fn, x, y)  

三个自变量-

def fn(x, a, b1, b2, b3):
    return a + b1*x[0] + b2*x[1] + b3*x[2]

popt, pcov = curve_fit(fn, x, y)  

问题是,我不知道输入中有多少自变量,我不想手动遍历函数定义的所有排列,我也不认为这是最佳实践。那么问题来了如何根据输入的dataframe在这里动态创建函数fn

【问题讨论】:

    标签: python scipy regression linear-regression scipy-optimize


    【解决方案1】:

    这不是一个非常优雅的解决方案,但您始终可以使用exec 命令like this 从字符串生成 Python 代码。然后,您可以为您的函数定义动态生成一个字符串,并使用exec 实际创建函数。

    【讨论】:

      猜你喜欢
      • 2016-03-08
      • 2016-04-24
      • 1970-01-01
      • 2021-03-19
      • 2016-09-16
      • 2017-04-11
      • 1970-01-01
      • 2017-10-08
      • 1970-01-01
      相关资源
      最近更新 更多