由于我对 XGBoost 非常陌生,我尝试使用mlr库和模型调整参数,但在使用 setHayperPars() 学习后,使用 train() 抛出错误(特别是当我运行xgmodel行时):colnames(x) 中的错误:参数“x”丢失,没有默认值,我无法识别这个错误意味着什么,下面是代码:
library(mlr)
library(dplyr)
library(caret)
library(xgboost)
set.seed(12345)
n=dim(mydata)[1]
id=sample(1:n, floor(n*0.6))
train=mydata[id,]
test=mydata[-id,]
traintask = makeClassifTask (data = train,target = "label")
testtask = makeClassifTask (data = test,target = "label")
#create learner
lrn = makeLearner("classif.xgboost",
predict.type = "response")
lrn$par.vals = list( objective="multi:softprob",
eval_metric="merror")
#set parameter space
params = makeParamSet( makeIntegerParam("max_depth",lower = 3L,upper = 10L),
makeIntegerParam("nrounds",lower = 20L,upper = 100L),
makeNumericParam("eta",lower = 0.1, upper = 0.3),
makeNumericParam("min_child_weight",lower = 1L,upper = 10L), …Run Code Online (Sandbox Code Playgroud)