Abstract base class for surrogate model filtering.
A surrogate model is a regression model, based on an mlr3::Learner, which predicts the approximate performance of newly sampled configurations
given the empirical performance of already evaluated configurations. The surrogate model can be used to propose points that have, according to the
surrogate model, a relatively high chance of performing well.
The FiltorSurrogate base class can be inherited from to create different Filtors that filter based on a surrogate model, for example tournament
filtering or progresive filtering.
FiltorSurrogateProgressive's configuration parameters are the hyperparameters of the surrogate_learner Learner, as well as
the configuration parameters of the surrogate_selector Selector.
Supported Domain classes depend on the supported feature types of the surrogate_learner, as reported
by surrogate_learner$feature_types: "ParamInt" requires
"integer", "ParamDbl" requires "numeric", "ParamLgl" requires "logical", and "ParamFct" requires "factor".
miesmuschel::MiesOperator -> miesmuschel::Filtor -> FiltorSurrogate
surrogate_learner(mlr3::LearnerRegr)
Regression learner for the surrogate model filtering algorithm.
surrogate_selector(Selector)
Selector with which to select using surrogate-predicted performance
new()Initialize the base class components of the FiltorSurrogate.
FiltorSurrogate$new(
surrogate_learner,
surrogate_selector = SelectorBest$new(),
param_set = ps(),
packages = character(0),
dict_entry = NULL
)surrogate_learner(mlr3::LearnerRegr)
Regression learner for the surrogate model filtering algorithm.
The $surrogate_learner field will reflect this value.
surrogate_learner(mlr3::LearnerRegr)
Regression learner for the surrogate model filtering algorithm.
The $surrogate_learner field will reflect this value.
surrogate_selector(Selector)
Selector for the surrogate model filtering algorithm.
The $surrogate_selector field will reflect this value.
surrogate_selector(Selector)
Selector for the surrogate model filtering algorithm.
The $surrogate_selector field will reflect this value.
param_set(ParamSet)
ParamSet of the method implemented in the inheriting class with configuration parameters that go beyond the
parameters of the surrogate_learner and surrogate_selector.
param_set(ParamSet | list of expression)
Strategy parameters of the operator. This should be created by the subclass and given to super$initialize().
If this is a ParamSet, it is used as the MiesOperator's ParamSet
directly. Otherwise it must be a list of expressions e.g. created by alist() that evaluate to ParamSets,
possibly referencing self and private.
These ParamSet are then combined using a ParamSetCollection.
Default is the empty ParamSet.
The $param_set field will reflect this value.
packages(character)
Packages that need to be loaded for the operator to function. This should
be declared so these packages can be loaded when operators run on parallel
instances. Default is character(0).
The $packages field will reflect this values.
packages(character)
Packages that need to be loaded for the operator to function. This should
be declared so these packages can be loaded when operators run on parallel
instances. Default is character(0).
The $packages field will reflect this values.
dict_entry(character(1) | NULL)
Key of the class inside the Dictionary (usually one of
dict_mutators, dict_recombinators, dict_selectors), where it can
be retrieved using a short access function. May be NULL if the operator
is not entered in a dictionary.
The $dict_entry field will reflect this value.
dict_entry(character(1) | NULL)
Key of the class inside the Dictionary (usually one of
dict_mutators, dict_recombinators, dict_selectors), where it can
be retrieved using a short access function. May be NULL if the operator
is not entered in a dictionary.
The $dict_entry field will reflect this value.
prime()See MiesOperator method. Primes both this operator, as well as the wrapped operator
given to surrogate_selector during construction.
FiltorSurrogate$prime(param_set)param_set(ParamSet)
Passed to MiesOperator$prime().
invisible self.
clone()The objects of this class are cloneable with this method.
FiltorSurrogate$clone(deep = FALSE)deepWhether to make a deep clone.
Other base classes:
Filtor,
MiesOperator,
Mutator,
MutatorDiscrete,
MutatorNumeric,
OperatorCombination,
Recombinator,
RecombinatorPair,
Scalor,
Selector,
SelectorScalar
Other filtors:
Filtor,
dict_filtors_maybe,
dict_filtors_null,
dict_filtors_proxy,
dict_filtors_surprog,
dict_filtors_surtour