我对R很新,并且在XGBoost功能方面遇到了一些麻烦。这是我到目前为止的代码:
test_rows <- sample.int(nrow(ccdata), nrow(ccdata)/3)
test <- ccdata[test_rows,]
train <- ccdata[-test_rows,]
table(test$default.payment.next.month)
table(train$default.payment.next.month)
bstSparse <- xgboost(data = train, label = train$default.payment.next.month, max.depth = 2, eta = 1, nthread = 2, nround = 2, objective = "binary:logistic")
我收到以下错误:
Error in xgb.get.DMatrix(data, label, missing, weight) :
xgboost only support numerical matrix input,
use 'data.matrix' to transform the data.
In addition: Warning message:
In xgb.get.DMatrix(data, label, missing, weight) :
xgboost: label will be ignored.
如果有人有任何建议,我们将不胜感激。
非常感谢
答案 0 :(得分:4)
错误消息是你的线索。 XGBoost仅接受数字格式的数据和矩阵。您似乎正在使用数据帧?尝试as.matrix(test)和as.matrix(train)。您始终可以使用str(object)检查任何对象的性质,以查看它是什么。