我在SageMaker中有一个jupyter笔记本,我想运行XGBoost算法。数据必须匹配3个条件:第一列中没有标题行-Outcome变量,其余列中的功能 - 所有列都需要是数字
我得到的错误如下:
Error for Training job xgboost-2019-03-13-16-21-25-000:
Failed Reason: ClientError: Blankspace and colon not found in firstline
'0.0,0.0,99.0,314.07,1.0,0.0,0.0,0.0,0.48027846,0.0...' of file 'train.csv'
在错误本身中可以看出,没有标题,输出是第一列(它只需要1.0和0.0值),所有特征都是数字。数据存储在自己的存储桶中。
我在GitHub中看到了一个相关的问题,但那里没有解决方案。此外,亚马逊拥有的示例笔记本在将数据帧保存到csv以便稍后使用时不会更改默认的sep或任何内容。
错误消息表明XGBoost期望输入数据集为libsvm格式而不是csv。默认情况下,SageMaker XGBoost假定输入数据集采用libsvm格式。要使用csv中的输入数据集,请明确指定content-type
为text/csv
。
有关更多信息:https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html#InputOutput-XGBoost