我在SageMaker中有一个jupyter笔记本,我想在其中运行XGBoost算法。数据必须符合3个条件: -无标题行 -第一列中的结果变量,其余列中的特征 -所有列都必须为数字
我得到的错误如下:
for item in ${!sizes1[@]} ; do
echo === testing ${sizes1[$item]} against ${sizes2[$item]} =====;
diff ${sizes1[$item]} ${sizes2[$item]};
done
在错误本身中,可以看到没有标题,输出是第一列(仅接受1.0和0.0值),并且所有特征都是数字。数据存储在其自己的存储桶中。
我在GitHub上看到了一个相关的问题,但是那里没有解决方案。同样,亚马逊拥有的示例笔记本在将数据帧保存到csv以供以后使用时,也不会更改默认的sep或其他内容。
答案 0 :(得分:1)
错误消息指示XGBoost期望输入数据集设置为libsvm格式而不是csv。默认情况下,SageMaker XGBoost假定输入数据集为libsvm格式。要使用csv中的输入数据集,请明确将content-type
指定为text/csv
。
有关更多信息:https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html#InputOutput-XGBoost