млр - вопросы тюнинга classif.ctree - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь настроить classif.ctree во вложенной перекрестной привязке, максимизируя AU C. Я получаю сообщение об ошибке, которое, как мне кажется, предполагает, что единственный параметр настройки, разрешенный для classif.ctree, это ntree. Это, однако, противоречит результату lrn_rf_conditional$par.set, который показывает, что mtry действительно перестраиваемый гиперпараметр. Вот мой код с ошибкой, которую я получаю.

data_past = read.table("data_past_noFDE_missingincluded.txt", h = T)

task_past = makeClassifTask(id = "past_history", data = data_past, target = "DIAG", positive = "BD")

ps_rf = makeParamSet(makeIntegerParam("mtry", lower = 3, upper = 16),makeDiscreteParam("ntree", values = 1000))

ctrl_rf = makeTuneControlRandom(maxit = 10L)

inner = makeResampleDesc("RepCV", fold = 10, reps = 5, stratify = TRUE)

lrn_rf_conditional = makeLearner("classif.ctree", predict.type = "prob", fix.factors.prediction = TRUE)

lrn_rf_conditional = makeTuneWrapper(lrn_rf_conditional, resampling = inner, par.set = ps_rf, 
control = ctrl_rf, measures = mlr::auc, show.info = FALSE)

Error in checkTunerParset(learner, par.set, measures, control) : 
  Can only tune parameters for which learner parameters exist: ntree

lrn_rf_conditional$par.set
                   Type len        Def                                   Constr Req Tunable
teststat       discrete   -       quad                                 quad,max   -    TRUE
testtype       discrete   - Bonferroni Bonferroni,MonteCarlo,Univariate,Test...   -    TRUE
mincriterion    numeric   -       0.95                                   0 to 1   -    TRUE
minsplit        integer   -         20                                 1 to Inf   -    TRUE
minbucket       integer   -          7                                 1 to Inf   -    TRUE
stump           logical   -      FALSE                                        -   -    TRUE
nresample       integer   -       9999                                 1 to Inf   Y    TRUE
maxsurrogate    integer   -          0                                 0 to Inf   -    TRUE
mtry            integer   -          0                                 0 to Inf   -    TRUE
savesplitstats  logical   -       TRUE                                        -   -   FALSE
maxdepth        integer   -          0                                 0 to Inf   -    TRUE

Как мне настроить mtry?

...