Terminators of the mlr3 ecosystem.
A Terminator
is an object that determines when to stop the optimization, e.g. after a budget of evaluations is depleted or the optimization stagnates.
Stop tuning when a performance level
is reached.
library(mlr3verse)
# load terminator and set performance level
terminator = trm("perf_reached", level = 0.25)
# load tuner
tuner = tnr("random_search", batch_size = 10)
# retrieve task
task = tsk("pima")
# load learner and set search space
learner = lts(lrn("classif.rpart"))
Called from: lts.Learner(lrn("classif.rpart"))
debug: x$param_set$values = insert_named(x$param_set$values, tuning_space$values)
debug: x
# set instance
instance = TuningInstanceSingleCrit$new(
task = task,
learner = learner,
resampling = rsmp("holdout"),
measure = msr("classif.ce"),
terminator = terminator
)
# hyperparameter tuning on the pima data set
tuner$optimize(instance)
minsplit minbucket cp learner_param_vals x_domain classif.ce
1: 3.20653 2.384821 -7.3949 <list[4]> <list[3]> 0.2304688
# best performing hyperparameter configuration
instance$result
minsplit minbucket cp learner_param_vals x_domain classif.ce
1: 3.20653 2.384821 -7.3949 <list[4]> <list[3]> 0.2304688
# fit final model on complete data set
learner$param_set$values = instance$result_learner_param_vals
learner$train(task)