Example #1
0
5**-1.6  # 0.07614615754863513

type(tmp2), dir(tmp2)

# NOTE: 试验space到实际数值的映射, 可能和Apply没关系
hp_assignment = {
    k: v[0]
    for k, v in trials_lgb.trials[0]['misc']['vals'].items()
}
hp_assignment = {k: v[0]
                 for k, v in trials_lgb.vals.items()}  # 这句和上面那句等价,这句更简洁
space_eval(space_lgb, hp_assignment)

trials_lgb.trials[0]['result']  # {'loss': -0.8737864077669903, 'status': 'ok'}
# 返回k个最好的模型的参数dict组成的一个list
trials_lgb.topk_trials(k=2)
# return_score=True就返回2个list组成的tuple
trials_lgb.topk_trials(2, return_score=True, ordered=True)
type(trials_lgb.topk_trials(2, return_score=True,
                            ordered=True)[0][0])  # 这个类型就是个dict
# Trials().trial_attachments的作用是,根据trial的参数字典解析出相应的model路径
trials_lgb.trial_attachments(
    trials_lgb.topk_trials(2, return_score=True,
                           ordered=True)[0][0])["model"].decode()
# %%

#返回topk的模型
select_models = lambda trials, k: [
    (trials.trial_attachments(t)["model"].decode(), c)
    for t, c in zip(*trials.topk_trials(k, return_score=True, ordered=True))
]
5**-1.6  # 0.07614615754863513

type(tmp2), dir(tmp2)

# NOTE: 试验space到实际数值的映射, 可能和Apply没关系
hp_assignment = {
    k: v[0]
    for k, v in trials_lgb.trials[0]['misc']['vals'].items()
}
hp_assignment = {k: v[0]
                 for k, v in trials_lgb.vals.items()}  # 这句和上面那句等价,这句更简洁
space_eval(space_lgb, hp_assignment)

trials_lgb.trials[0]['result']  # {'loss': -0.8737864077669903, 'status': 'ok'}
# 返回k个最好的模型的参数dict组成的一个list
trials_lgb.topk_trials(k=2)
# return_score=True就返回2个list组成的tuple
trials_lgb.topk_trials(2, return_score=True, ordered=True)
type(trials_lgb.topk_trials(2, return_score=True,
                            ordered=True)[0][0])  # 这个类型就是个dict
# Trials().trial_attachments的作用是,根据trial的参数字典解析出相应的model路径
trials_lgb.trial_attachments(
    trials_lgb.topk_trials(2, return_score=True,
                           ordered=True)[0][0])["model"].decode()
# %%

#返回topk的模型
select_models = lambda trials, k: [
    (trials.trial_attachments(t)["model"].decode(), c)
    for t, c in zip(*trials.topk_trials(k, return_score=True, ordered=True))
]