
Helper to make parsnip model specs from a dials parameter grid
Source: R/modeltime-fit-workflowset.R
create_model_grid.RdHelper to make parsnip model specs from a dials parameter grid
Usage
create_model_grid(grid, f_model_spec, engine_name, ..., engine_params = list())Arguments
- grid
A tibble that forms a grid of parameters to adjust
- f_model_spec
A function name (quoted or unquoted) that specifies a
parsnipmodel specification function- engine_name
A name of an engine to use. Gets passed to
parsnip::set_engine().- ...
Static parameters that get passed to the f_model_spec
- engine_params
A
listof additional parameters that can be passed to the engine viaparsnip::set_engine(...).
Details
This is a helper function that combines dials grids with
parsnip model specifications. The intent is to make it easier
to generate workflowset objects for forecast evaluations
with modeltime_fit_workflowset().
The process follows:
Generate a grid (hyperparemeter combination)
Use
create_model_grid()to apply the parameter combinations to a parsnip model spec and engine.
The output contains ".model" column that can be used as a list
of models inside the workflow_set() function.
See also
dials::grid_regular(): For making parameter grids.workflowsets::workflow_set(): For creating aworkflowsetfrom the.modelslist stored in the ".models" column.modeltime_fit_workflowset(): For fitting aworkflowsetto forecast data.
Examples
library(tidymodels)
# Parameters that get optimized
grid_tbl <- grid_regular(
learn_rate(),
levels = 3
)
# Generate model specs
grid_tbl %>%
create_model_grid(
f_model_spec = boost_tree,
engine_name = "xgboost",
# Static boost_tree() args
mode = "regression",
# Static set_engine() args
engine_params = list(
max_depth = 5
)
)
#> # A tibble: 3 × 2
#> learn_rate .models
#> <dbl> <list>
#> 1 0.0000000001 <spec[+]>
#> 2 0.00000316 <spec[+]>
#> 3 0.1 <spec[+]>