考虑以下简单的优化代码:
from symfit import *
x1 = 1
x2 = 4
p1, p2 = parameters('p1, p2')
model = p1*p2
constraints = [
Eq(x1*p1+(x2-x1)*p2, 1),
Ge(p1, p2),
Ge(p2, 0)
]
fit = Fit(- model, constraints=constraints)
fit_result = fit.execute()
print(fit_result)这给了我以下警告:
/home/user/.local/lib/python3.5/site-packages/symfit/core/fit.py:1783: RuntimeWarning: invalid value encountered in double_scalars
return 1 - SS_res/SS_tot是什么引起的?
发布于 2019-04-08 10:17:39
这是因为symfit当前总是尝试计算fit的决定系数 (R^2)。在这种情况下,由于没有数据,所以SS_res和SS_tot都是零,从而导致0/0,从而在fit_results中产生警告和结果的nan。
我们现在正在为FitResults添加额外的智能,这样它一开始就不会被计算出来,但是忽略这个警告是安全的。
https://stackoverflow.com/questions/55551276
复制相似问题