Function for Automatic TuningSource:
auto_tuner( method, learner, resampling, measure = NULL, term_evals = NULL, term_time = NULL, terminator = NULL, search_space = NULL, store_tuning_instance = TRUE, store_benchmark_result = TRUE, store_models = FALSE, check_values = FALSE, callbacks = list(), ... )
Learner to tune.
Resampling that is used to evaluated the performance of the hyperparameter configurations. Uninstantiated resamplings are instantiated during construction so that all configurations are evaluated on the same data splits. Already instantiated resamplings are kept unchanged. Specialized Tuner change the resampling e.g. to evaluate a hyperparameter configuration on different data splits. This field, however, always returns the resampling passed in construction.
Measure to optimize. If
NULL, default measure is used.
Number of allowed evaluations.
Maximum allowed time in seconds.
Stop criterion of the tuning process.
Hyperparameter search space. If
NULL(default), the search space is constructed from the TuneToken of the learner's parameter set (learner$param_set).
TRUE(default), stores the internally created TuningInstanceSingleCrit with all intermediate results in slot
TRUE(default), store resample result of evaluated hyperparameter configurations in archive as mlr3::BenchmarkResult.
TRUE, fitted models are stored in the benchmark result (
store_benchmark_result = FALSE, models are only stored temporarily and not accessible after the tuning. This combination is needed for measures that require a model.
TRUE, hyperparameter values are checked before evaluation and performance scores after. If
FALSE(default), values are unchecked but computational overhead is reduced.
(list of CallbackTuning)
List of callbacks.
Named arguments to be set as parameters of the tuner.
The hyperparameters of the wrapped (inner) learner are trained on the training data via resampling. The tuning can be specified by providing a Tuner, a bbotk::Terminator, a search space as paradox::ParamSet, a mlr3::Resampling and a mlr3::Measure.
The best found hyperparameter configuration is set as hyperparameters for the wrapped (inner) learner stored in
at$learner. Access the tuned hyperparameters via
A final model is fit on the complete training data using the now parametrized wrapped learner. The respective model is available via field
AutoTuner just calls the predict method of the wrapped (inner) learner.
A set timeout is disabled while fitting the final model.
Nested resampling can be performed by passing an AutoTuner object to
To access the inner resampling results, set
store_tuning_instance = TRUE and execute
store_models = TRUE (see examples).
The mlr3::Resampling passed to the AutoTuner is meant to be the inner resampling, operating on the training set of an arbitrary outer resampling.
For this reason it is not feasible to pass an instantiated mlr3::Resampling here.
at = auto_tuner( method = tnr("random_search"), learner = lrn("classif.rpart", cp = to_tune(1e-04, 1e-1, logscale = TRUE)), resampling = rsmp ("holdout"), measure = msr("classif.ce"), term_evals = 4) at$train(tsk("pima"))