Objective interface where user can pass an R function that works on an data.table().
bbotk::Objective -> ObjectiveRFunDt
fun(function)
Objective function.
new()Creates a new instance of this R6 class.
ObjectiveRFunDt$new(
fun,
domain,
codomain = NULL,
id = "function",
properties = character(),
constants = ps(),
check_values = TRUE
)fun(function)
R function that encodes objective and expects an data.table() as input
whereas each point is represented by one row.
domain(paradox::ParamSet)
Specifies domain of function.
The paradox::ParamSet should describe all possible input parameters of the objective function.
This includes their id, their types and the possible range.
codomain(paradox::ParamSet)
Specifies codomain of function.
Most importantly the tags of each output "Parameter" define whether it should
be minimized or maximized. The default is to minimize each component.
id(character(1)).
properties(character()).
constants(paradox::ParamSet)
Changeable constants or parameters that are not subject to tuning can be stored and accessed here.
check_values(logical(1))
Should points before the evaluation and the results be checked for validity?
eval_many()Evaluates multiple input values received as a list, converted to a data.table() on the
objective function. Missing columns in xss are filled with NAs in xdt.
ObjectiveRFunDt$eval_many(xss)xss(list())
A list of lists that contains multiple x values, e.g.
list(list(x1 = 1, x2 = 2), list(x1 = 3, x2 = 4)).
data.table::data.table() that contains one y-column for single-criteria functions
and multiple y-columns for multi-criteria functions, e.g.
data.table(y = 1:2) or data.table(y1 = 1:2, y2 = 3:4).
eval_dt()Evaluates multiple input values on the objective function supplied by the user.
ObjectiveRFunDt$eval_dt(xdt)xdt(data.table::data.table())
Set of untransformed points / points from the search space.
One point per row, e.g. data.table(x1 = c(1, 3), x2 = c(2, 4)).
Column names have to match ids of the search_space.
However, xdt can contain additional columns.
data.table::data.table()] that contains one y-column for single-criteria functions
and multiple y-columns for multi-criteria functions, e.g.
data.table(y = 1:2) or data.table(y1 = 1:2, y2 = 3:4).
clone()The objects of this class are cloneable with this method.
ObjectiveRFunDt$clone(deep = FALSE)deepWhether to make a deep clone.