我正在尝试使用 Optuna 在 ML 算法中测试不同的参数集。
Optuna的自动采样非常有用,但是有没有办法将一组特定的参数强制到 Optuna 定义的建议批次中?
例如,如果我有一个 x,y 参数:
def objective(trial)
x = trial.suggest_uniform('x', -10, 10)
y = trial.suggest_uniform('x', -5, 5)
return (x+y-2)**2
study = optuna.create_study(study_name='study_name')
study.optimize(objective, n_trials=10)
我还想在自动生成的集合中定义一组 x=0.1、y=0.2。这可能吗?
将某些 ML 算法的"直观"值与其他值进行比较可能会很有趣。
另外,我看到了:
study = optuna.create_study()
study.enqueue_trial({'x':0.1, 'y':0.2})
study.optimize(objective, n_trials=10)
这可能特别有趣,因为它将试验整合到研究中(稍后将所有试验分组到数据帧等中(。
是的。一种方法是使用FixedTrial,它将向您显示直觉猜测的结果。
print(objective(optuna.trial.FixedTrial({'x': 0.1, 'y': 0.2})))