Learn R Programming

ParamHelpers (version 1.12)

makeParamSet: Construct a parameter set.

Description

makeParamSet: Construct from a bunch of parameters.

Multiple sets can be concatenated with c.

The constructed S3 class is simply a list that contains the element pars. pars is a list of the passed parameters, named by their ids.

If keys are provided it will automatically be checked whether all expressions within the provided parameters only contain arguments that are a subset of keys.

Usage

makeParamSet(..., params = NULL, forbidden = NULL, keys = NULL)

makeNumericParamSet(id = "x", len, lower = -Inf, upper = Inf, vector = TRUE)

Arguments

...

[Param] Parameters.

params

[list of Param] List of parameters, alternative way instead of using ....

forbidden

[NULL | R expression] States forbidden region of parameter set via an expression. Every setting which satisfies this expression is considered to be infeasible. This makes it possible to exclude more complex region of the parameter space than through simple constraints or requires-conditions (although these should be always used when possible). If parameters have associated trafos, the forbidden region must always be specified on the original scale and not the transformed one. Default is NULL which means no forbidden region.

keys

[character] Character vector with keys (names) of feasible variable names which will be provided via a dictionary/hash later. Default is NULL.

id

[character(1)] Name of parameter.

len

[integer(1)] Length of vector.

lower

[numeric] Lower bound. Default is -Inf.

upper

[numeric] Upper bound. Default is Inf.

vector

[logical(1)] Should a NumericVectorParam be used instead of n NumericParam objects? Default is TRUE.

Value

[ParamSet | LearnerParamSet]. If all parameters of the ParamSet are learner parameters, the output will inherit the class LearnerParamSet.

Examples

Run this code
# NOT RUN {
makeParamSet(
  makeNumericParam("u", lower=1),
  makeIntegerParam("v", lower=1, upper=2),
  makeDiscreteParam("w", values=1:2),
  makeLogicalParam("x"),
  makeDiscreteVectorParam("y", len=2, values=c("a", "b"))
)
makeParamSet(
  makeNumericParam("u", lower = expression(ceiling(n))),
  makeIntegerParam("v", lower = expression(floor(n)), upper = 2),
  keys = c("p", "n")
)
# }

Run the code above in your browser using DataLab