【发布时间】:2021-10-17 01:22:38
【问题描述】:
我尝试使用 SageMaker 的 AutoPilot 来解决二进制分类问题,我发现它使用 f1 作为评估指标。但是当我尝试编写一些代码而不进行这样的调整时:
xgb.set_hyperparameters(max_depth=5,
eta=0.2,
gamma=4,
min_child_weight=6,
subsample=0.8,
objective='binary:logistic',
eval_metric='f1',
num_round=100)
这会产生以下错误:
[2021-10-17:00:02:19:ERROR] 客户错误:指标“f1”不是 支持的。参数“eval_metric”应该是其中之一 选项:'rmse'、'mae'、'logloss'、'error'、'merror'、'mlogloss'、 “auc”、“ndcg”、“地图”、“泊松-nloglik”、“伽马-nloglik”、 '伽马偏差','tweedie-nloglik'。
既然自动驾驶能够计算 F1,我觉得它在某种方式的超参数设置中得到了支持?我是不是误会了?
我们将不胜感激。
【问题讨论】:
-
将 validation:f1 与验证通道一起使用。 docs.aws.amazon.com/sagemaker/latest/dg/xgboost-tuning.html
-
谢谢。我实际上阅读了同一篇文章并尝试了 eval_metric="validation:f1" 但我得到了同样的错误。当您说“验证通道”时,这是什么意思?
-
我相信您可以在单个训练作业中设置 eval_metric="error",但可以在超参数调整作业中设置验证:f1
标签: xgboost amazon-sagemaker xgbclassifier