Currently, it is not possible to use mlrMBO for tuning mlr3 and related packages directly, because of some disagreements between S3 (as used in mlrMBO) and R6 (used in mlr3). mlr3mbo exists, but it is not yet as mature and feature-rich as mlrMBO. mlrintermbo
provides the necessary interface to make mlrMBO accessible for mlr3.
To use mlrintermbo
, one should NOT load mlrMBO
as a library in the current R session. Instead, mlrintermbo
will run mlrMBO on a different background R session to keep it sectioned off from the main process. Just load the tuner (for tuning mlr3 “Learners”) or optimizer (for tuning bbotk “Objectives”):
library("mlrintermbo")
# Tuning Learners:
library("mlr3tuning")
tuner <- tnr("intermbo")
# Tuning Objectives
library("bbotk")
optimizer <- opt("intermbo")
The tuner / optimizer provide an extensive ParamSet
to configure the MBO method, covering practically everything that can usually be configured with an MBOControl
object. To find out the specific function of each control parameter, read the mlrMBO reference entries of functions regarding “mlrMBO Control”.
When installing mlrintermbo
, the required mlrMBO
package is not installed automatically. It is therefore necessary to install mlrMBO
manually:
LGPL-3