【发布时间】:2020-10-12 11:52:51
【问题描述】:
我在 Python 3.7 中使用 Hyperopt 选择 XGBoost 模型的参数。
作为目标,我使用返回多个值的函数,包括损失:
def objective(params, n_folds = nfold):
...
return {'loss': loss, 'params': params, 'iteration': ITERATION,
'estimators': n_estimators,
'train_time': run_time, 'status': STATUS_OK}
在我的例子中,'loss' - 不是交叉验证中的包容性参数(例如'auc'),但它是自制的指标。 我希望,这将通过迭代减少,但它会继续变化,就像在随机方法中一样。
此外,当我看到 fmin 计算状态时(示例 - 如下)。我看到完全不同的指标正在下降。
XGB CV model report
Best test-auc-mean 98.51% (std: 0.21%)
83%|███████████████████████████████████████▏ | 25/30 [08:26<07:23, 88.64s/trial, best loss: 0.22099999999999997]
我怎么知道,Hyperopt 降低的实际指标是什么?
【问题讨论】:
标签: python python-3.x xgboost hyperparameters hyperopt