FiltorSurrogate: Abstract Surrogate Model Filtering Base Class

FiltorSurrogateR Documentation

Abstract Surrogate Model Filtering Base Class

Description

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.

Configuration Parameters

FiltorSurrogateProgressive's configuration parameters are the hyperparameters of the surrogate_learner Learner, as well as the configuration parameters of the surrogate_selector Selector.

Supported Operand Types

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".

Super classes

miesmuschel::MiesOperator -> miesmuschel::Filtor -> FiltorSurrogate

Active bindings

surrogate_learner

(mlr3::LearnerRegr)
Regression learner for the surrogate model filtering algorithm.

surrogate_selector

(Selector)
Selector with which to select using surrogate-predicted performance

Methods

Public methods

Inherited methods

Method new()

Initialize the base class components of the FiltorSurrogate.

Usage
FiltorSurrogate$new(
  surrogate_learner,
  surrogate_selector = SelectorBest$new(),
  param_set = ps(),
  packages = character(0),
  dict_entry = NULL
)
Arguments
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.


Method prime()

See MiesOperator method. Primes both this operator, as well as the wrapped operator given to surrogate_selector during construction.

Usage
FiltorSurrogate$prime(param_set)
Arguments
param_set

(ParamSet)
Passed to MiesOperator⁠$prime()⁠.

Returns

invisible self.


Method clone()

The objects of this class are cloneable with this method.

Usage
FiltorSurrogate$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

See Also

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 documentation built on Sept. 11, 2024, 8:23 p.m.