autoMbo: Tune DMBO and plot vs SMBO default

View source: R/autoMbo.R

autoMboR Documentation

Tune DMBO and plot vs SMBO default

Description

This function tunes the DMBO hyperparameters and then plots the best DMBO configuration against the default SMBO configuration. This function is simulating the material science workflow. It is recommended to use a problem which needs hundreds of black-box function evaluations to be solved, as it is not efficient for a too minor amount. The user has to define the maximum amount of allowed black-box function evaluations and when to switch the hyperparameters.

Usage

autoMbo(
  data,
  target,
  minimize = FALSE,
  funcEvals,
  minFuncEvals = 10,
  itersMboTune = 10,
  repls = 10,
  showInfo = TRUE,
  ncpus = NA,
  seed = 1
)

Arguments

data

[data.frame(1)]
A data.frame containing the data for the blac-box function simulation.

target

[character]
A character string containing the name of the target variable.

minimize

[logical(1)]
Should the target be minimized?
Default is 'FALSE'.

funcEvals

[integer(1)]
Define the amount of black-box function evaluations.

minFuncEvals

[integer(1)]
An integer which defines when to switch between the hyperparameters.

itersMboTune

[integer(1)]
Define the amount of black-box function evaluations.
Default is ten.

repls

[integer(1)]
Define how often each configuration is replicated for the benchmark.
Default is ten.

showInfo

[logical(1)]
Should information be plotted?
Default is 'TRUE'.

ncpus

[numeric(1)]
Define how many cpu cores are used for the benchmark.
Default is NA, which uses all cores minus one.

seed

[numeric(1)]
Define the seed used for the computation. Will be set by batchtools. Which means the jobs get the seed plus the job.id as their unique seed.
Default is one.

Value

A ggplot2 object illustrating the benchmark of the tuned DMBO approach vs. the default SMBO.

Examples

## Not run: 
set.seed(1)
data <- data.frame(a=runif(50,10,5555),b=runif(50,-30000,-500))
data$ratio <- rowSums(data)
data$ratio <- data$ratio/max(data$ratio)
colnames(data) <- c("a","t","y")

target = c("y")

minimize = FALSE
funcEvals = 13
minFuncEvals = 5
itersMboTune = 1

repls = 2

plot = EBO::autoMbo(data, target, minimize, funcEvals, minFuncEvals, itersMboTune, repls)

## End(Not run)



matthiasgruber/EBO documentation built on May 17, 2022, 3:19 p.m.