首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索枕叶最小函数最小误差

问检索枕叶最小函数最小误差
EN

Stack Overflow用户
提问于 2018-07-17 15:24:21
回答 1查看 160关注 0票数 1

是否有一种方法可以在scipy.minimize收敛后直接检索最小化的错误,还是必须直接编码到成本函数中?

我只能检索似乎收敛到系数的信息。

代码语言:javascript
复制
def errorFunction(params,series,loss_function,slen = 12):
    alpha, beta, gamma = params
    breakUps = int(len(series) / slen)
    end = breakUps * slen
    test = series[end:]
    errors = []

    for i in range(2,breakUps+1):
        model = HoltWinters(series=series[:i * 12], slen=slen,
                            alpha=alpha, beta=beta, gamma=gamma, n_preds=len(test))
        model.triple_exponential_smoothing()
        predictions = model.result[-len(test):]
        actual = test
        error = loss_function(predictions, actual)
        errors.append(error)
    return np.mean(np.array(errors))

opt = scipy.optimize.minimize(errorFunction, x0=x,
                   args=(train, mean_squared_log_error),
                   method="L-BFGS-B", bounds = ((0, 1), (0, 1), (0, 1))
                  )
#gets the converged values
optimal values = opt.x
#I would like to know what the error with errorFunction is when using opt.x values, without having to manually run the script again
#Is the minimum error stored somewhere in the returned object opt
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-18 13:06:34

根据我从函数scipy.optimize.minimize的文档中了解到的情况,结果将作为OptimizeResult对象返回。

从这个类(这里)的文档来看,它有一个属性fun,即“目标函数的值”。

因此,如果您执行opt.fun,您应该获得您正在寻找的结果。(您可以检索更多的值,如Jacobian opt.jac,Hessian opt.hess,.如文件所述)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51385138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档