2017-10-09 31 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(增加索引),則不要編寫它。 –