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 Filtor
s 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 Param
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"
.
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
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 ParamSet
s,
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.
param_set
(ParamSet
)
Passed to MiesOperator
$prime()
.
invisible self
.