Learn R Programming

mlr (version 2.10)

TuneMultiCritControl: Create control structures for multi-criteria tuning.

Description

The following tuners are available:
makeTuneMultiCritControlGrid
Grid search. All kinds of parameter types can be handled. You can either use their correct param type and resolution, or discretize them yourself by always using makeDiscreteParam in the par.set passed to tuneParams.
makeTuneMultiCritControlRandom
Random search. All kinds of parameter types can be handled.
makeTuneMultiCritControlNSGA2
Evolutionary method nsga2. Can handle numeric(vector) and integer(vector) hyperparameters, but no dependencies. For integers the internally proposed numeric values are automatically rounded.

Usage

makeTuneMultiCritControlGrid(same.resampling.instance = TRUE,
  resolution = 10L, log.fun = NULL, final.dw.perc = NULL, budget = NULL)

makeTuneMultiCritControlNSGA2(same.resampling.instance = TRUE, impute.val = NULL, log.fun = NULL, final.dw.perc = NULL, budget = NULL, ...)

makeTuneMultiCritControlRandom(same.resampling.instance = TRUE, maxit = 100L, log.fun = NULL, final.dw.perc = NULL, budget = NULL)

Arguments

same.resampling.instance
[logical(1)] Should the same resampling instance be used for all evaluations to reduce variance? Default is TRUE.
resolution
[integer] Resolution of the grid for each numeric/integer parameter in par.set. For vector parameters, it is the resolution per dimension. Either pass one resolution for all parameters, or a named vector. See generateGridDesign. Default is 10.
log.fun
[function | NULL] Function used for logging. If set to NULL, the internal default will be used. Otherwise a function with arguments learner, resampling, measures, par.set, control, opt.path, dob, x, y, remove.nas, and 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. In case of makeTuneMultiCritControlGrid this number must be identical to the size of the grid. For makeTuneMultiCritControlRandom the budget equals the number of iterations (maxit) performed by the random search algorithm. And in case of makeTuneMultiCritControlNSGA2 the budget corresponds to the product of the maximum number of generations (max(generations)) + 1 (for the initial population) and the size of the population (popsize).
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. 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.
...
[any] Further control parameters passed to the control arguments of cma_es or GenSA, as well as towards the tunerConfig argument of irace.
maxit
[integer(1)] Number of iterations for random search. Default is 100.

Value

[TuneMultiCritControl]. The specific subclass is one of TuneMultiCritControlGrid, TuneMultiCritControlRandom, TuneMultiCritControlNSGA2.

See Also

Other tune_multicrit: plotTuneMultiCritResultGGVIS, plotTuneMultiCritResult, tuneParamsMultiCrit