【问题标题】:XGBoost multiple eval_metric in SagemakerSagemaker 中的 XGBoost 多个 eval_metric
【发布时间】:2022-10-14 04:05:10
【问题描述】:

我正在尝试使用 Sagemaker 将多个评估指标添加到 XGBoost 训练作业中,文档说这是可能的 (https://github.com/dmlc/xgboost/blob/master/doc/parameter.rst#learning-task-parameters):

用户可以添加多个评估指标。 Python 用户:记得 将指标作为参数对列表而不是映射传递,所以 后一个 eval_metric 不会覆盖前一个

文档没有任何代码示例但我尝试了很多方法来做到这一点(包括简单地将它们作为列表传递,例如:eval_metric=['mae', 'merror']),但我只是找不到这样的语法作品。有什么提示吗?

【问题讨论】:

    标签: python amazon-web-services machine-learning xgboost amazon-sagemaker


    【解决方案1】:

    XGBOOST 的 Sagemaker SDK 实现遵循dmlc/xgboost。因此,您可以像使用 xgboost.ai 一样传递 eval_metric

    xgb_model.fit(trainData, targetVar, early_stopping_rounds=10, 
    eval_metric=['mae', 'merror', 'aucpr'], eval_set=[(valData, valTarget)])
    

    在上面的示例中,我们传递了三个评估指标。但是,如果您尝试传递自定义指标,则上述实现将不起作用。

    【讨论】:

    • 感谢您的回复!你试过了吗?我问的原因是这是我尝试的第一件事,但没有运气。
    猜你喜欢
    • 1970-01-01
    • 2018-08-19
    • 2017-03-02
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2020-06-10
    相关资源
    最近更新 更多