Как я могу определить, какая складка была окончательно использована в качестве теста, а какая - в качестве тренировки при 5-кратной перекрестной проверке в пакете mlr? Методы $resampling$train.inds
и $resampling$test.inds
возвращают все 5 сгибов без информации, которая в конечном итоге использовалась для обучения и тестирования.
library("mlr")
regr_task = makeRegrTask(data = mtcars, target = "hp")
learner = makeLearner("regr.ranger",
importance = "impurity",
num.threads = 3)
par_set = makeParamSet(
makeIntegerParam("num.trees", lower = 100L, upper = 500L),
makeIntegerParam("mtry", lower = 4L, upper = 8L)
)
rdesc = makeResampleDesc("CV", iters = 5, predict = "both")
meas = rmse
ctrl = makeTuneControlGrid()
set.seed(1)
tuned_model = tuneParams(learner = learner,
task = regr_task,
resampling = rdesc,
measures = list(meas, setAggregation(meas, train.mean)),
par.set = par_set,
control = ctrl,
show.info = FALSE)
tuned_model
model_rf = setHyperPars(learner = learner, par.vals = tuned_model$x)
set.seed(1)
model_rf = train(learner = model_rf, task = regr_task)
model_rf
tuned_model$resampling$train.inds
tuned_model$resampling$test.inds