Tuning Spaces

The package mlr3tuningspaces ships with some predefined tuning spaces for hyperparameter optimization. See the respective manual page for the article from which they were extracted.

Example Usage

Load a tuning space for the classification tree learner from the Bischl et al. (2021) article.

library(mlr3verse)

# load learner and set search space
learner = lts(lrn("classif.rpart"))

# retrieve task
task = tsk("pima")

# load tuner and set batch size
tuner = tnr("random_search", batch_size = 10)

# hyperparameter tuning on the pima data set
instance = tune(
  tuner = tnr("grid_search", resolution = 5, batch_size = 25),
  task = task,
  learner = learner,
  resampling = rsmp("holdout"),
  measure = msr("classif.ce"),
)

# best performing hyperparameter configuration
instance$result
    minsplit minbucket        cp learner_param_vals  x_domain classif.ce
       <num>     <num>     <num>             <list>    <list>      <num>
1: 0.6931472  2.087194 -2.302585          <list[4]> <list[3]>  0.2734375
# fit final model on complete data set
learner$param_set$values = instance$result_learner_param_vals
learner$train(task)

print(learner)
<LearnerClassifRpart:classif.rpart>: Classification Tree
* Model: rpart
* Parameters: xval=0, minsplit=2, minbucket=8, cp=0.1
* Packages: mlr3, rpart
* Predict Types:  [response], prob
* Feature Types: logical, integer, numeric, factor, ordered
* Properties: importance, missings, multiclass, selected_features,
  twoclass, weights

References

Bischl, Bernd, Martin Binder, Michel Lang, Tobias Pielok, Jakob Richter, Stefan Coors, Janek Thomas, et al. 2021. “Hyperparameter Optimization: Foundations, Algorithms, Best Practices and Open Challenges.” arXiv:2107.05847 [Cs, Stat], July. http://arxiv.org/abs/2107.05847.