Python 如何从hyperopt hp.choice中提取选定的hyperparameter?

Python 如何从hyperopt hp.choice中提取选定的hyperparameter?,python,hyperparameters,catboost,hyperopt,Python,Hyperparameters,Catboost,Hyperopt,我正在使用hyperopt找到一个catboost回归器的最佳超参数。 我正在关注这个。 有关部分是: ctb_reg_参数={ “学习率”:hp.choice(“学习率”,np.arange(0.05,0.31,0.05)), } ctb_拟合参数={ “详细”:False } ctb_para=dict() ctb_para['reg_params']=ctb_reg_params ctb_para['fit_params']=ctb_fit_params ctb_para['loss_f

我正在使用
hyperopt
找到一个
catboost
回归器的最佳超参数。 我正在关注这个。 有关部分是:


ctb_reg_参数={
“学习率”:hp.choice(“学习率”,np.arange(0.05,0.31,0.05)),
}
ctb_拟合参数={
“详细”:False
}
ctb_para=dict()
ctb_para['reg_params']=ctb_reg_params
ctb_para['fit_params']=ctb_fit_params
ctb_para['loss_func']=lambda y,pred:np.sqrt(均方误差(y,pred))
def ctb_reg(自我,第段):
reg=ctb.CatBoostRegressor(**第['reg_参数]]段)
注册匹配(x_系列、y_系列,**第[‘匹配参数’]段)
预测=调整预测(x_检验)
损失=第[‘损失函数’](y_测试,预测)
返回{'loss':丢失,'status':状态{u OK}
fmin(fn=ctb_reg,space=ctb_para,algo=tpe.suggest,max_evals=100,trials=trials())
几分钟后,我得到了这个:

{'learning_rate':4}

如何提取最佳学习率?它是不是
np.arange(0.05,0.31,0.05)[4]
?有没有更好的方法从hyperopt导入空间中提取它?

\u eval
打印(空间评估(ctb段、fmin结果))

感谢您提供此代码片段,它可能会提供一些有限的即时帮助。通过展示为什么这是一个很好的问题解决方案,A将极大地提高它的长期价值,并将使它对未来有其他类似问题的读者更有用。请在你的回答中添加一些解释,包括你所做的假设。嗨,我能问你这里的“para”论点用什么吗?我试图逐字使用您的代码,因为我无法访问媒体文章。谢谢