Biregular grids can be created for any number of parameter objects.
grid_biregular(
x,
...,
center = NULL,
levels = 3,
original = TRUE,
filter = NULL
)
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 numeric vector specifying the point onto which the biregular
grid should be centered. Defaults to NULL
, in which case
grid_regular
is used instead.
An integer for the number of values of each parameter to use
to make the regular grid. levels
can be a single integer or a vector of
integers that is the same length as the number of parameters in ...
.
levels
can be a named integer vector, with names that match the id values
of parameters.
A logical: should the parameters be in the original units or in the transformed space (if any)?
A logical: should the parameters be filtered prior to generating the grid. Must be a single expression referencing parameter names that evaluates to a logical vector.
A tibble. There are columns for each parameter and a row for every parameter combination.
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]
## [1] 0.001490161 0.999741096
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_random(extract_parameter_set_dials(glmn_mod), size = 1000)
range(mix_grid_2$mixture)
## [1] 0.05141565 0.99975404
grid_biregular(dials::mixture(), center = 0.2)
#> # A tibble: 3 × 1
#> mixture
#> <dbl>
#> 1 0
#> 2 0.2
#> 3 1