AWS SageMaker训练XGBoost模型触发Algorithm Error求助
解决SageMaker XGBoost训练时「缺少必填超参数」的错误
从报错日志的最后一行可以明确问题:缺少必填的超参数(Missing required hyperparameter)。
结合你提供的代码截图来看,当前设置的超参数中缺少了SageMaker XGBoost算法模式下的核心必填项——num_round(训练轮数)。SageMaker的XGBoost容器在算法模式下会强制校验该参数,未配置就会触发这个错误。
修复步骤
在你的超参数字典中添加num_round参数,设置合理的训练轮数(示例值为100,可根据任务需求调整):
hyperparameters = { "max_depth": "5", "eta": "0.2", "gamma": "4", "min_child_weight": "6", "subsample": "0.7", "objective": "binary:logistic", "num_round": "100" # 新增必填参数 }
如果添加后仍然报错,可以进一步检查是否缺少eval_metric参数(部分SageMaker XGBoost版本也将其列为必填项),针对二分类任务可以补充:
"eval_metric": "logloss"
注意:SageMaker XGBoost的算法模式对超参数的要求和本地运行XGBoost略有差异,必须严格按照容器要求配置所有必填项。
内容的提问来源于stack exchange,提问作者lewisnix21
相关产品推荐
相关产品推荐

