1

我对 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.

如果有人有任何建议,将不胜感激。

非常感谢

4

1 回答 1

4

错误消息是您的线索。XGBoost 只接受数字格式和矩阵形式的数据。看来您正在输入数据框?试试 as.matrix(test) 和 as.matrix(train)。您始终可以使用 str(object) 检查任何对象的性质以查看它是什么。

于 2016-12-23T17:31:16.663 回答