R: Create control object for hyperparameter tuning with MBO.

makeTuneControlMBO {mlr} | R Documentation

## Create control object for hyperparameter tuning with MBO.

### Description

Model-based / Bayesian optimization with the function mlrMBO::mbo from the mlrMBO package. Please refer to https://github.com/mlr-org/mlrMBO for further info.

### Usage

    makeTuneControlMBO(
      same.resampling.instance = TRUE,
      impute.val = NULL,
      learner = NULL,
      mbo.control = NULL,
      tune.threshold = FALSE,
      tune.threshold.args = list(),
      continue = FALSE,
      log.fun = "default",
      final.dw.perc = NULL,
      budget = NULL,
      mbo.design = NULL
    )

### Arguments

`same.resampling.instance` | (`logical(1)`) Should the same resampling instance be used for all evaluations to reduce variance? Default is `TRUE`.
`impute.val` | (numeric) If something goes wrong during optimization (e.g. the learner crashes), this value is fed back to the tuner, so the tuning algorithm does not abort. Imputation is only active if `on.learner.error` is configured not to stop in configureMlr. It is not stored in the optimization path, an NA and a corresponding error message are logged instead. Note that this value is later multiplied by -1 for maximization measures internally, so you need to enter a larger positive value for maximization here as well. Default is the worst obtainable value of the performance measure you optimize for when you aggregate by mean value, or `Inf` instead. For multi-criteria optimization pass a vector of imputation values, one for each of your measures, in the same order as your measures.
`learner` | (Learner | `NULL`) The surrogate learner: A regression learner to model performance landscape. For the default, `NULL`, mlrMBO will automatically create a suitable learner based on the rules described in mlrMBO::makeMBOLearner.
`mbo.control` | (mlrMBO::MBOControl | `NULL`) Control object for model-based optimization tuning. For the default, `NULL`, the control object will be created with all the defaults as described in mlrMBO::makeMBOControl.
`tune.threshold` | (`logical(1)`) Should the threshold be tuned for the measure at hand, after each hyperparameter evaluation, via tuneThreshold? Only works for classification if the predict type is “prob”. Default is `FALSE`.
`tune.threshold.args` | (list) Further arguments for threshold tuning that are passed down to tuneThreshold. Default is none.
`continue` | (`logical(1)`) Resume calculation from previous run using mlrMBO::mboContinue? Requires “save.file.path” to be set. Note that the ParamHelpers::OptPath in the mlrMBO::OptResult will only include the evaluations after the continuation. The complete OptPath will be found in the slot `$mbo.result$opt.path`.
`log.fun` | (`function` | `character(1)`) Function used for logging. If set to “default” (the default), the evaluated design points, the resulting performances, and the runtime will be reported. If set to “memory” the memory usage for each evaluation will also be displayed, with `character(1)` small increase in run time. Otherwise `character(1)` function with arguments `learner`, `resampling`, `measures`, `par.set`, `control`, `opt.path`, `dob`, `x`, `y`, `remove.nas`, `stage` and `prev.stage` is expected. The default displays the performance measures, the time needed for evaluating, the currently used memory and the max memory ever used before (the latter two both taken from gc). See the implementation for details.
`final.dw.perc` | (`boolean`) If a Learner wrapped by a makeDownsampleWrapper is used, you can define the value of `dw.perc` which is used to train the Learner with the final parameter setting found by the tuning. Default is `NULL` which will not change anything.
`budget` | (`integer(1)`) Maximum budget for tuning. This value restricts the number of function evaluations.
`mbo.design` | (data.frame | `NULL`) Initial design as data frame. If the parameters have corresponding trafo functions, the design must not be transformed before it is passed! For the default, `NULL`, a default design is created like described in mlrMBO::mbo.

### Value

(TuneControlMBO)

### References

Bernd Bischl, Jakob Richter, Jakob Bossek, Daniel Horn, Janek Thomas and Michel Lang; mlrMBO: A Modular Framework for Model-Based Optimization of Expensive Black-Box Functions, Preprint: https://arxiv.org/abs/1703.03373 (2017).

### See Also

Other tune: `TuneControl`, `getNestedTuneResultsOptPathDf()`, `getNestedTuneResultsX()`, `getResamplingIndices()`, `getTuneResult()`, `makeModelMultiplexerParamSet()`, `makeModelMultiplexer()`, `makeTuneControlCMAES()`, `makeTuneControlDesign()`, `makeTuneControlGenSA()`, `makeTuneControlGrid()`, `makeTuneControlIrace()`, `makeTuneControlRandom()`, `makeTuneWrapper()`, `tuneParams()`, `tuneThreshold()`

[Package mlr version 2.19.0 Index]