r - xgboost:当数据是矩阵时需要标签
问题描述
我被困了几个小时试图用 R 运行 XGboost。我有一个包含大约 40 列的训练数据和测试数据,最后一列是目标列。它是 0,1 标称值。我正在运行从https://www.kaggle.com/michaelpawlus/xgboost-example-0-76178/code获得的这段代码。
require(xgboost)
library(xgboost)
train <- read.csv(file.choose(),header = T)
test <- read.csv(file.choose(),header = T)
feature.names <- names(train)[2:ncol(train)-1]
clf <- xgboost(data = data.matrix(train[,feature.names]),
label = train$target,
nrounds = 100, # 100 is better than 200
objective = "binary:logistic",
eval_metric = "auc")
cat("making predictions in batches due to 8GB memory limitation\n")
submission <- data.frame(ID=test$ID)
submission$target1 <- NA
for (rows in test) {
submission[rows, "Succeed"] <- predict(clf, data.matrix(test[rows,feature.names]))
}
varimp_clf <- xgb.importance(feature_names=feature.names,model=clf)
xgb.plot.importance(varimp_clf)
这是我得到的错误
xgb.get.DMatrix(数据,标签,缺失,权重)中的错误:xgboost:当数据是矩阵时需要标签
$<-.data.frame
(*tmp*
, target1, value = NA)中的错误:替换有 1 行,数据有 0预测错误(clf,data.matrix(test [rows,feature.names])):找不到对象'clf'
解决方案
检查您的输入数据。您的最后一列是否命名为目标?听起来好像不是。
推荐阅读
- scala - Scala 类型的内存:堆或堆栈
- xamarin - 从选项卡式页面导航到内容页面它隐藏了选项卡,但我希望该选项卡式页面在内容页面上
- javascript - 属性更改时如何重新渲染反应组件
- excel - Excel VBA:有没有办法遍历特定范围内的字符?
- python - 我得到“元组”对象不可调用为错误
- python - Python:Insert 语句中单个 CSV 单元格中的多个值。收到缺少逗号的错误
- hyperlink - 为什么当我尝试以 Google 身份提取时,网站管理员显示错误?
- javascript - 更新现有对象的最有效方法(使用类似的对象)
- python - 在 python 中杀死 sudo 启动的子进程
- node.js - 在所有查询都运行后发送响应