Java - xgboost DMatrix输入

时间:2017-10-09 08:20:35

标签: java xgboost

使用xgboost4j包在java中创建DMatrix时,首先我成功使用" filepath"创建矩阵。

DMatrix trainMat = new DMatrix("...\\xgb_training_input.csv");

但是当我尝试训练模型时:

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

其中x1-x5是" Real"数字和y是0或1.文件结尾是.csv

也许分隔符不应该是',' ?

1 个答案:

答案 0 :(得分:0)

DMatrix获取.libsvm文件。可以使用python轻松创建。

libsvm看起来像这样:

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

所以目标是第一列,而其他每一列(预测变量)都附加到增加索引,中间带有“:”。