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

为什么会出现ValueError:设置具有序列的数组元素?

如何解决为什么会出现ValueError:设置具有序列的数组元素?

我是编程方面的新手。我试图在python中使用log_likelihood函数获取某些参数的最大似然估计。以下是我正在使用的代码

from scipy.optimize import minimize

np.random.seed(42)
nll = lambda *args: -log_likelihood(*args)
initial = np.array([m_true,b_true,np.log(f_true)]) + 0.1 * np.random.randn(3)
soln = minimize(nll,initial)
m_ml,b_ml,log_f_ml = soln.x

但是它在行soln = minimum(nll,initial)时给了我错误,说 soln =最小化(nll,初始)

      File "/usr/lib/python2.7/dist-packages/scipy/optimize/_minimize.py",line 444,in minimize
        return _minimize_bfgs(fun,x0,args,jac,callback,**options)   File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py",line 913,in _minimize_bfgs
        gfk = myfprime(x0)   File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py",line 292,in function_wrapper
        return function(*(wrapper_args + args))   File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py",line 688,in approx_fprime
        return _approx_fprime_helper(xk,f,epsilon,args=args)   File "/usr/lib/python2.7/dist-packages/scipy/optimize/optimize.py",line 628,in _approx_fprime_helper
        grad[k] = (f(*((xk + d,) + args)) - f0) / d[k] 
ValueError: setting an array element with a sequence.

还有其他方法可以定义soln吗?还是与最小化功能有关?如果这很简单,我很抱歉,我试图找到解决方案,但由于我是python或编程的新手,所以我无法理解错误的确切含义。非常感谢帮助。

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