AWS XGBOOST模型中未识别/无效的eval_metrics
xgb.set_hyperparameters(objective='binary:logistic',num_round=100)
xgb.fit({'train': s3_input_train})
...
from sagemaker.tuner import IntegerParameter, CategoricalParameter, ContinuousParameter, HyperparameterTuner
hyperparameter_ranges = {'eta': ContinuousParameter(0, 1),
'min_child_weight': ContinuousParameter(1, 10),
'alpha': ContinuousParameter(0, 2),
'max_depth': IntegerParameter(1, 10),
'num_round': IntegerParameter(1, 300),
'gamma': ContinuousParameter(0, 5),
'lambda': ContinuousParameter(0, 1000),
'max_delta_step':IntegerParameter(1, 10),
'colsample_bylevel':ContinuousParameter(0.1, 1),
'colsample_bytree':ContinuousParameter(0.5, 1),
'subsample':ContinuousParameter(0.5, 1)}
objective_metric_name = 'validation:aucpr'
tuner = HyperparameterTuner(xgb,
objective_metric_name,
hyperparameter_ranges,
max_jobs=50,
max_parallel_jobs=3)
tuner.fit({'train': s3_input_train, 'validation': s3_input_val}, include_cls_metadata=False, wait=False)
返回错误:
An error occurred (ValidationException) when calling the CreateHyperParameterTuningJob operation: The objective metric for the hyperparameter tuning job, [validation:aucpr], isn’t valid for the [811284229777.dkr.ecr.us-east-1.amazonaws.com/xgboost:latest] algorithm. Choose a valid objective metric.
用F1和Logloss替换AUCPR时,同样适用。它们清楚地定义为用于分类目的的文档中的评估指标。
我该怎么做才能允许F1, AUCPR和Logloss评估指标?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
验证:AUC
,验证:F1
和验证:Logloss
确实是评估指标,它们不是可调的XGBOOST HYPERPARAMETERS。请参阅对于可调的超参数,
您的代码试图将
客观度量
设置为不是支持。评估指标将作为HyperParamaters的一部分输入:
例如,
您共享的文档:
While
validation:auc
,validation:f1
andvalidation:logloss
are indeed Evaluation Metrics they are not Tunable XGBoost Hyperparameters.Please see the table below for the Tunable Hyperparameters
Your code is trying to set the
objective metric
as one which is not supported.Evaluation metrics would be input as part of the hyperparamaters:
For example,
From the doc you shared: