为了账号安全,请及时绑定邮箱和手机立即绑定

Scipy Optimize 只返回 x0,只完成一次迭代

Scipy Optimize 只返回 x0,只完成一次迭代

慕斯王 2021-07-10 14:03:59
我正在使用 scipy optimize 来获取以下函数的最小值:def randomForest_b(a,b,c,d,e): return abs(rf_diff.predict([[a,b,c,d,e]]))我最终希望能够在给定参数 (c,d,e) 的情况下获得 (a) 和 (b) 的最佳值。然而,只是为了学习如何使用优化函数,我试图在给定其他参数的情况下获得 (a) 的最佳值。我有以下代码:res=optimize.minimize(randomForest_b, x0=45,args=(119.908500,65.517527,2.766103,29.509200), bounds=((45,65),))print(res) 我什至尝试过:optimize.fmin_slsqp(randomForest_b, x0=45,args=(119.908500,65.517527,2.766103,29.509200), bounds=((45,65),))但是,这两者都只返回 x0 值。Optimization terminated successfully.    (Exit mode 0)        Current function value: 1.5458542752157667        Iterations: 1        Function evaluations: 3        Gradient evaluations: 1array([ 45.])当前函数值是正确的,但是在边界内的所有数字之间,x0 不返回最小函数值。我设置了边界,因为变量 a 只能是 45 到 65 之间的数字。我是否遗漏了什么或做错了什么?如果可能,我怎样才能获得 a 和 b 的最佳值?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信