auto_tuner | R Documentation |
The AutoTuner wraps a mlr3::Learner and augments it with an automatic tuning process for a given set of hyperparameters.
The auto_tuner()
function creates an AutoTuner object.
auto_tuner(
tuner,
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 = NULL,
rush = NULL,
id = NULL
)
tuner |
(Tuner) |
learner |
(mlr3::Learner) |
resampling |
(mlr3::Resampling) |
measure |
(mlr3::Measure) |
term_evals |
( |
term_time |
( |
terminator |
(bbotk::Terminator) |
search_space |
(paradox::ParamSet) |
store_tuning_instance |
( |
store_benchmark_result |
( |
store_models |
( |
check_values |
( |
callbacks |
(list of mlr3misc::Callback) |
rush |
( |
id |
( |
The AutoTuner is a mlr3::Learner which wraps another mlr3::Learner and performs the following steps during $train()
:
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 at$tuning_result
.
A final model is fit on the complete training data using the now parametrized wrapped learner.
The respective model is available via field at$learner$model
.
During $predict()
the AutoTuner
just calls the predict method of the wrapped (inner) learner.
A set timeout is disabled while fitting the final model.
AutoTuner.
If no measure is passed, the default measure is used. The default measure depends on the task type.
Task | Default Measure | Package |
"classif" | "classif.ce" | mlr3 |
"regr" | "regr.mse" | mlr3 |
"surv" | "surv.cindex" | mlr3proba |
"dens" | "dens.logloss" | mlr3proba |
"classif_st" | "classif.ce" | mlr3spatial |
"regr_st" | "regr.mse" | mlr3spatial |
"clust" | "clust.dunn" | mlr3cluster |
There are several sections about hyperparameter optimization in the mlr3book.
Getting started with hyperparameter optimization.
An overview of all tuners can be found on our website.
Tune a support vector machine on the Sonar data set.
Learn about tuning spaces.
Estimate the model performance with nested resampling.
Learn about multi-objective optimization.
Simultaneously optimize hyperparameters and use early stopping with XGBoost.
Automate the tuning.
The gallery features a collection of case studies and demos about optimization.
Learn more advanced methods with the Practical Tuning Series.
Learn about hotstarting models.
Run the default hyperparameter configuration of learners as a baseline.
Use the Hyperband optimizer with different budget parameters.
The cheatsheet summarizes the most important functions of mlr3tuning.
Nested resampling is performed by passing an AutoTuner to mlr3::resample()
or mlr3::benchmark()
.
To access the inner resampling results, set store_tuning_instance = TRUE
and execute mlr3::resample()
or mlr3::benchmark()
with 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, the inner resampling should be not instantiated.
If an instantiated resampling is passed, the AutoTuner fails when a row id of the inner resampling is not present in the training set of the outer resampling.
at = auto_tuner(
tuner = 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"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.