The following types of columns are created:
If you want to convert these, look at
Dependent parameters whose constraints are unsatisfied generate
in their respective columns. For discrete vectors the levels and their order
will be preserved.
The algorithm currently performs these steps:
We create a grid. For numerics and integers we use the specified resolution. For discretes all values will be taken.
Forbidden points are removed.
Parameters are trafoed (potentially, depending on the setting of argument
dependent parameters whose constraints are unsatisfied are set to
Duplicated points are removed. Duplicated points are not generated in a grid design, but the way parameter dependencies are handled make this possible.
Note that if you have trafos attached to your params, the complete creation
of the design (except for the detection of invalid parameters w.r.t to their
requires setting) takes place on the UNTRANSFORMED scale. So this function
creates a regular grid over the param space on the UNTRANSFORMED scale, but
not necessarily the transformed scale.
generateDesign will NOT work if there are dependencies over multiple levels
of parameters and the dependency is only given with respect to the
“previous” parameter. A current workaround is to state all
dependencies on all parameters involved. (We are working on it.)
generateGridDesign(par.set, resolution, trafo = FALSE)
data.frame. Columns are named by the ids of the parameters. If the
par.set argument contains a vector parameter, its corresponding column
names in the design are the parameter id concatenated with 1 to dimension
of the vector. The result will have an
“trafo”, which is set to the value of argument
ps = makeParamSet( makeNumericParam("x1", lower = -2, upper = 1), makeNumericParam("x2", lower = -2, upper = 2, trafo = function(x) x^2) ) generateGridDesign(ps, resolution = c(x1 = 4, x2 = 5), trafo = TRUE)#> x1 x2 #> 1 -2 4 #> 2 -1 4 #> 3 0 4 #> 4 1 4 #> 5 -2 1 #> 6 -1 1 #> 7 0 1 #> 8 1 1 #> 9 -2 0 #> 10 -1 0 #> 11 0 0 #> 12 1 0