How can I control the number of configurations being evaluated during hyperband tuning in mlr3? I noticed that when I tune 6 parameters in xgboost(), the code evaluates about 9 configurations. When I tune the same number of parameters in catboost(), the code starts with evaluating 729 configurations. I am using eta = 3 in both cases.
The number of sampled configurations in hyperband is defined by the lower and upper bound of the budget hyperparameter and eta. You can get a preview of the schedule and number of configurations:
mlr3hyperband::hyperband_schedule(r_min = 1, r_max = 81, eta = 3)
#> bracket stage budget n
#> 1: 4 0 1 81
#> 2: 4 1 3 27
#> 3: 4 2 9 9
#> 4: 4 3 27 3
#> 5: 4 4 81 1
#> 6: 3 0 3 34
#> 7: 3 1 9 11
#> 8: 3 2 27 3
#> 9: 3 3 81 1
#> 10: 2 0 9 15
#> 11: 2 1 27 5
#> 12: 2 2 81 1
#> 13: 1 0 27 8
#> 14: 1 1 81 2
#> 15: 0 0 81 5
mlr3hyperband::hyperband_n_configs(r_min = 1, r_max = 81, eta = 3)
#> 143
If you want to evaluate more configurations, increase the repetition
parameter of hyperband. Hyperband will start again after evaluating the last bracket. Install the latest gh version for this devtools::install_github("mlr-org/mlr3hyperband")
.