gpt4 book ai didi

r - 没有默认值的错误 : argument "x" is missing,?

转载 作者:行者123 更新时间:2023-12-02 00:05:18 26 4
gpt4 key购买 nike

由于我是 XGBoost 的新手,我正在尝试使用 mlr 库和模型来调整参数,但是在使用 setHayperPars() 之后,使用 train() 学习会抛出错误(特别是当我运行 < strong>xgmodel line): 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),
makeNumericParam("subsample",lower = 0.5,upper = 1),
makeNumericParam("colsample_bytree",lower = 0.5,upper = 1))


#set resampling strategy

configureMlr(show.learner.output = FALSE, show.info = FALSE)

rdesc = makeResampleDesc("CV",stratify = T,iters=5L)

# set the search optimization strategy

ctrl = makeTuneControlRandom(maxit = 10L)

# parameter tuning

set.seed(12345)

mytune = tuneParams(learner = lrn, task = traintask,
resampling = rdesc, measures = acc,
par.set = params, control = ctrl,
show.info = FALSE)


# build model using the tuned paramters

#set hyperparameters
lrn_tune = setHyperPars(lrn,par.vals = mytune$x)

#train model
xgmodel = train(learner = lrn_tune,task = traintask)

谁能告诉我哪里出了问题!?

最佳答案

加载可能涉及同名方法的多个包时,您必须非常小心 - 这里是 caretmlr,它们都是包含一个 train 方法。此外,library 语句的顺序很重要:这里,由于 caretmlr 之后加载,它屏蔽了具有相同名称的函数(可能还有以前加载的所有其他包),如 train

在你的情况下,你显然想使用 mlr 中的 train 方法(而不是 caret),你应该声明这个在您的代码中明确:

xgmodel = mlr::train(learner = lrn_tune,task = traintask)

关于r - 没有默认值的错误 : argument "x" is missing,?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60831125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com