XGBoost 设置错误

Posted

技术标签:

【中文标题】XGBoost 设置错误【英文标题】:Error with XGBoost setup 【发布时间】:2017-05-09 02:21:34 【问题描述】:

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

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

非常感谢

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于XGBoost 设置错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 XGBoost 绘制树返回 Graphviz 错误

为啥 Xgboost 中的功能不匹配错误

关于数值变量和标签的 xgboost 错误消息

在 XGBoost 中为分类设置应用增量学习时出错(python)

设置 XGBoost 提前停止的 Tol

xgboost 参数