| SurrogateLearnerCollection | R Documentation |
Surrogate model containing multiple mlr3::LearnerRegr.
The mlr3::LearnerRegr are fit on the target variables as indicated via cols_y.
Note that redundant mlr3::LearnerRegr must be deep clones.
catch_errorslogical(1)
Should errors during updating the surrogate be caught and propagated to the loop_function which can then handle
the failed acquisition function optimization (as a result of the failed surrogate) appropriately by, e.g., proposing a randomly sampled point for evaluation?
Default is TRUE.
impute_methodcharacter(1)
Method to impute missing values in the case of updating on an asynchronous bbotk::ArchiveAsync with pending evaluations.
Can be "mean" to use mean imputation or "random" to sample values uniformly at random between the empirical minimum and maximum.
Default is "random".
mlr3mbo::Surrogate -> SurrogateLearnerCollection
learner(list of mlr3::LearnerRegr)
List of mlr3::LearnerRegr wrapped as surrogate models.
input_trafo(InputTrafo)
Input transformation.
output_trafo(OutputTrafo)
Output transformation.
print_id(character)
Id used when printing.
n_learner(integer(1))
Returns the number of surrogate models.
packages(character())
Set of required packages.
A warning is signaled if at least one of the packages is not installed, but loaded (not attached) later on-demand via requireNamespace().
feature_types(character())
Stores the feature types the surrogate can handle, e.g. "logical", "numeric", or "factor".
A complete list of candidate feature types, grouped by task type, is stored in mlr_reflections$task_feature_types.
properties(character())
Stores a set of properties/capabilities the surrogate has.
A complete list of candidate properties, grouped by task type, is stored in mlr_reflections$learner_properties.
predict_type(character(1))
Retrieves the currently active predict type, e.g. "response".
output_trafo_must_be_considered(logical(1))
Whether a transformation has been applied to the target variable that has not been inverted during prediction.
new()Creates a new instance of this R6 class.
SurrogateLearnerCollection$new( learners, input_trafo = NULL, output_trafo = NULL, archive = NULL, cols_x = NULL, cols_y = NULL )
learners(list of mlr3::LearnerRegr).
input_trafo(InputTrafo | NULL).
InputTrafo to be applied.
output_trafo(OutputTrafo | NULL).
OutputTrafo to be applied.
archive(bbotk::Archive | NULL)
bbotk::Archive of the bbotk::OptimInstance.
cols_x(character() | NULL)
Column id's of variables that should be used as features.
By default, automatically inferred based on the archive.
cols_y(character() | NULL)
Column id's of variables that should be used as targets.
By default, automatically inferred based on the archive.
predict()Predict mean response and standard error.
Returns a named list of data.table::data.table().
Each contains the mean response and standard error for one col_y.
SurrogateLearnerCollection$predict(xdt)
xdt(data.table::data.table())
New data. One row per observation.
named list of data.table::data.table() with the columns mean and se.
clone()The objects of this class are cloneable with this method.
SurrogateLearnerCollection$clone(deep = FALSE)
deepWhether to make a deep clone.
if (requireNamespace("mlr3learners") &
requireNamespace("DiceKriging") &
requireNamespace("rgenoud") &
requireNamespace("ranger")) {
library(bbotk)
library(paradox)
library(mlr3learners)
fun = function(xs) {
list(y1 = xs$x^2, y2 = (xs$x - 2) ^ 2)
}
domain = ps(x = p_dbl(lower = -10, upper = 10))
codomain = ps(y1 = p_dbl(tags = "minimize"), y2 = p_dbl(tags = "minimize"))
objective = ObjectiveRFun$new(fun = fun, domain = domain, codomain = codomain)
instance = OptimInstanceBatchMultiCrit$new(
objective = objective,
terminator = trm("evals", n_evals = 5))
xdt = generate_design_random(instance$search_space, n = 4)$data
instance$eval_batch(xdt)
learner1 = default_gp()
learner2 = default_rf()
surrogate = srlrn(list(learner1, learner2), archive = instance$archive)
surrogate$update()
surrogate$learner
surrogate$learner[["y1"]]$model
surrogate$learner[["y2"]]$model
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.