微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态创建SciPy curve_fit函数

如何解决动态创建SciPy curve_fit函数

这里是菜鸟。

我正在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,b2,b3):
    return a + b1*x[0] + b2*x[1] + b3*x[2]

popt,y)  

问题是,我不知道输入中将有多少个自变量,并且我不想手动遍历函数定义的所有排列,我也不认为这是最佳实践。因此,问题是如何根据输入数据帧在此处动态创建函数fn

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。