2017-10-09 233 views
0

在使用xgboost4j软件包在java中创建DMatrix时,首先我成功使用“filepath”创建矩阵。Java - xgboost DMatrix输入

​​

但是当我尝试训练模型:

Booster booster = XGBoost.train(trainMat, params, round, watches, null, null); 

我得到以下错误:

...regression_obj.cc:108: label must be in [0,1] for logistic regression 

现在我的数据是坚实的。我已经用python构建的xgb模型进行了检查。 我猜测问题与数据格式莫名其妙。 目前的格式如下:

x1,x2,x3,x4,x5,y 

其中X 1 -X 5是“真正的”数字和y为0或1文件端的.csv

也许隔板不应该是”, '?

回答

0

DMatrix获取.libsvm文件。这可以很容易地用python创建。

LIBSVM是这样的:

target 0:column1 1:column2 2:column3 ...等等

所以目标是第一列,而每隔一列(预测)被连接到随指数“:”在之间。

+0

想想看,这种保存数据的方式对于稀疏数据来说效果很好。如果该列的数据值为NA或0(增加索引),则不要编写它。 –