Я хочу настроить гиперпараметры для случайного леса, используя пакет MLR. У меня есть несколько вопросов:
1) Как мне решить, какой из параметров мне следует настроить? Я что-то слышал о том, чтобы поддерживать num.trees как можно выше в вычислительном отношении и настраивать mtry? (Хотя я не могу найти что-либо в Интернете, подтверждающее это)
2) Каким должен быть мой диапазон настройки mtry? Здесь хорошее эмпирическое правило между 0 и 1/3 параметра? Если да, то как бы я интегрировал это в приведенный ниже код, если бы у меня были разные наборы данных (то есть, что я бы написал вместо нижнего = 0 и верхнего = 10)?
3) И наконец, имеет ли смысл создавать ученика дважды, один раз с помощью функции makeLearner, где я устанавливаю параметр в par.vals, а затем один раз с помощью функции makeTuneWrapper? Не перезаписывает ли это тогда?
learnerRF = makeLearner("regr.ranger", par.vals = list("num.trees" = 5000))
parsRF = makeParamSet(
makeIntegerParam("mtry", lower = 0 , upper = 10),
)
tuneRF = makeTuneControlGrid()
inner = makeResampleDesc("CV", iters = 10)
learnerRF = makeTuneWrapper(learnerRF, resampling = inner, par.set = parsRF,control = tuneRF, show.info = FALSE)