栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python将pandas数据框,参数和函数传递给scipy.optimize.minimize

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python将pandas数据框,参数和函数传递给scipy.optimize.minimize

数据格式不是问题,但是您

loglik_total
以错误的方式调用了。下面是修改后的版本,以正确的参数顺序(
params
已先走,然后你通过在同一顺序的附加参数,如
args
您的
minimize
通话):

def loglik_total(params, data, id_list):    # Extract parameters.    delta_params = list(params[0:len(id_list)])    sigma_param = params[-1]    # Calculate the negative log-likelihood for every row in data and sum the values.    lt = -np.sum( data.apply(lambda row: loglik_row(row, delta_params, sigma_param, id_list), axis=1) )    return lt

如果您再致电

res = minimize(fun=loglik_total, x0=init_params, args=(data, id_list), method='nelder-mead')

它贯穿很好(注意顺序

x
data
id_list
,一样的,你传递给
loglik_total
)和
res
如下所示:

final_simplex: (array([[  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09],       [  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,          3.88586258e+05,   3.19488400e+05,   4.90209168e+04,          6.43380010e+04,  -1.85436851e+09]]), array([-0., -0., -0., -0., -0., -0., -0., -0., -0.]))fun: -0.0       message: 'Optimization terminated successfully.'          nfev: 930nit: 377        status: 0       success: True  x: array([  2.55758096e+05,   6.99890451e+04,  -1.41860117e+05,         3.88586258e+05,   3.19488400e+05,   4.90209168e+04,         6.43380010e+04,  -1.85436851e+09])

这个输出是否有意义,我无法判断:)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号