Skip to content
This repository has been archived by the owner on Jan 6, 2022. It is now read-only.

default par.configs for ranger #10

Open
PhilippPro opened this issue Sep 7, 2017 · 3 comments
Open

default par.configs for ranger #10

PhilippPro opened this issue Sep 7, 2017 · 3 comments

Comments

@PhilippPro
Copy link

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))
@jakob-r
Copy link
Owner

jakob-r commented Sep 7, 2017

  1. 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. Only min.node.size is fixed.

  2. 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 😉.

  3. 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?

@PhilippPro
Copy link
Author

  1. 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.
  2. Ok, that is reasonable.
  3. Yes, that is possible, I think, e.g. if there is only one variable with influence.

@jakob-r
Copy link
Owner

jakob-r commented Sep 7, 2017

  1. No? getDefaultParConfig("classif.ranger")
  2. 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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants