mlrHyperopt
mlrHyperopt copied to clipboard
default par.configs for ranger
I looked up your default parameter space for ranger and this is not really suitable for bigger datasets.
Type len Def Constr Req Tunable Trafo
mtry integer - 2 1 to 4 - TRUE -
min.node.size integer - 1 1 to 10 - TRUE -
So I put my own par.configs:
par.set = makeParamSet(
makeIntegerParam(
id = "mtry",
lower = 1,
upper = expression(p),
default = expression(round(p^0.5))),
makeIntegerParam(
id = "min.node.size",
lower = 1,
upper = expression(round(n/10)),
default = 1),
keys = c("p", "n"))
par.config = makeParConfig(
par.set = par.set,
par.vals = list(num.trees = 2000),
learner.name = "ranger"
)
Maybe wanna change the default values to this values? I am thinking about which to use in the benchmark study. ;)
I already uploaded them via
uploadParConfig(par.config, "[email protected]")
ranger.configs = downloadParConfigs(ids = "52", learner.class = getLearnerClass(my.learner))
-
What you show has to be a par.set with already evaluated expressions. As you can see here all have data dependent values for
mtry
. Onlymin.node.size
is fixed. -
Well it's always hard to decide for a default. Mostly just "copied" what they use in
caret
to have a base that can easily be improved :wink:. -
Actually I don't know if I would like the full possible range for
mtry
for tuning. An interval around the default value seems to be more useful from my perspective. Or do you have experiences where the tuned setting was close to the extremes?
- Ah ok, sorry I was not aware of this, but it is also hard to find out, is it? Then I will just take these parameters.
- Ok, that is reasonable.
- Yes, that is possible, I think, e.g. if there is only one variable with influence.
- No?
getDefaultParConfig("classif.ranger")
- Reasonable, but that reminds me of the sentence I heard one "If hyperparameter tuning is your answer, then your preprocessing probably sucks". I do not fully agree but in this case: Doing "hyperparameter tuning" to find out that only one variable has influence is not good practice.