Experimental designs for computer experiments are used to construct parameter grids that try to cover the parameter space such that any portion of the space has an observed combination that is not too far from it.
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)# S3 method for parameters
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
# S3 method for list
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
# S3 method for param
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
# S3 method for workflow
grid_max_entropy(
x,
...,
size = 3,
original = TRUE,
variogram_range = 0.5,
iter = 1000
)
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for parameters
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for list
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for param
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
# S3 method for workflow
grid_latin_hypercube(x, ..., size = 3, original = TRUE)
A param
object, list, or parameters
.
One or more param
objects (such as mtry()
or
penalty()
). None of the objects can have unknown()
values in
the parameter ranges or values.
A single integer for the total number of parameter value combinations returned. If duplicate combinations are generated from this size, the smaller, unique set is returned.
A logical: should the parameters be in the original units or in the transformed space (if any)?
A numeric value greater than zero. Larger values reduce the likelihood of empty regions in the parameter space.
An integer for the maximum number of iterations used to find a good design.
The types of designs supported here are latin hypercube designs and designs that attempt to maximize the determinant of the spatial correlation matrix between coordinates. Both designs use random sampling of points in the parameter space.
Note that there may a difference in grids depending on how the function
is called. If the call uses the parameter objects directly the possible
ranges come from the objects in dials
. For example:
mixture()
## Proportion of Lasso Penalty (quantitative)
## Range: [0, 1]
set.seed(283)
mix_grid_1 <- grid_latin_hypercube(mixture(), size = 1000)
range(mix_grid_1$mixture)
## [1] 0.0001530482 0.9999530388
However, in some cases, the parsnip
and recipe
packages overrides
the default ranges for specific models and preprocessing steps. If the
grid function uses a parameters
object created from a model or recipe,
the ranges may have different defaults (specific to those models). Using
the example above, the mixture
argument above is different for
glmnet
models:
library(parsnip)
library(tune)# When used with glmnet, the range is [0.05, 1.00]
glmn_mod <-
linear_reg(mixture = tune()) %>%
set_engine("glmnet")
set.seed(283)
mix_grid_2 <- grid_latin_hypercube(extract_parameter_set_dials(glmn_mod), size = 1000)
range(mix_grid_2$mixture)
## [1] 0.0501454 0.9999554
Sacks, Jerome & Welch, William & J. Mitchell, Toby, and Wynn, Henry. (1989). Design and analysis of computer experiments. With comments and a rejoinder by the authors. Statistical Science. 4. 10.1214/ss/1177012413.
Santner, Thomas, Williams, Brian, and Notz, William. (2003). The Design and Analysis of Computer Experiments. Springer.
Dupuy, D., Helbert, C., and Franco, J. (2015). DiceDesign and DiceEval: Two R packages for design and analysis of computer experiments. Journal of Statistical Software, 65(11)
grid_max_entropy(
hidden_units(),
penalty(),
epochs(),
activation(),
learn_rate(c(0, 1), trans = scales::transform_log()),
size = 10,
original = FALSE
)
grid_latin_hypercube(penalty(), mixture(), original = TRUE)
Run the code above in your browser using DataLab