我有一個包含25000行和761列的數據集,其中包含一個二進制響應列。我的二進制響應的值爲'-1'和'1'。我試圖在其上運行xgboost,並不斷收到這says-R中的XGBoost故障排除
xg_base<-xgboost(data = features,label = output,objective="binary:logistic",eta=1,nthreads=2,nrounds = 10
, verbose = T, print.every.n = 5)
Error in xgb.iter.update(bst$handle, dtrain, i - 1, obj) :
label must be in [0,1] for logistic regression
錯誤我使用下面的命令 -
levels(output)[levels(output)=="-1"] <- "0"
我還是繼續得到同樣的錯誤改變了我的響應水平,我不確定這個問題到底是什麼。重要的一點是,這是一個罕見的事件檢測問題,陽性病例的比例爲總觀測值的1%。這可能是我得到錯誤的原因嗎?
我認爲'輸出'變量必須在0和1之間,而不是一個因素。使用'xgboost'時可能需要重新編碼響應。 – steveb