R XgBoost列车错误"至少有一个类级别不是有效的R变量名称"

时间:2017-01-26 21:16:03

标签: r machine-learning xgboost

我正在尝试在R中安装XgBoost模型,但是当我运行它时,我收到错误:

"至少有一个类级别不是有效的R变量名称;这会在生成类概率时导致错误,因为变量名称将转换为X0,X1。请使用可用作有效R变量名称的因子级别"。

这是我的代码:

xgb_grid = expand.grid(
  nrounds =100,
  eta=c(0.3,0.1, 0.01, 0.001, 0.0001),
  gamma=c(0,1),
  max_depth=c(2,4,6,8,10),
  min_child_weight=(0:200)*0.1,
  subsample=(0:100)*0.01,
  colsample_bytree=(0:100)*0.01
)

xgb_trcontrol = trainControl(
  method = "repeatedcv",
  number = 5,
  verboseIter = TRUE,
  returnData = FALSE,
  returnResamp = "all",
  classProbs = TRUE,
  summaryFunction = twoClassSummary,
  allowParallel = TRUE
)
caret::train()
xgb_train <- caret::train(
  x = as.matrix(train_n[,predictorsNames]),
  y= as.factor(train_n[,outcomeName]),
  trControl =xgb_trcontrol,
  tunegrid = xgb_grid,
  method = "xgbTree",
  metric = "ROC"
)

从我读到的,它与y因子的水平有关。但同样,对于Xgboost,我记得所有变量都必须是数字,包括y。还是我错了?我该如何解决?

0 个答案:

没有答案