R/modeltime_wfs_bestmodel.R
modeltime_wfs_bestmodel.Rd
get best workflows generated from the modeltime_wfs_fit()
function output.
modeltime_wfs_bestmodel( .wfs_results, .model = NULL, .metric = "rmse", .minimize = TRUE )
.wfs_results | a tibble generated from the |
---|---|
.model | string or number, It can be supplied as follows: “top n,” “Top n” or “tOp n”, where n is the number of best models to select; n, where n is the number of best models to select; name of the workflow or workflows to select. |
.metric | metric to get best model from ('mae', 'mape','mase','smape','rmse','rsq') |
.minimize | a boolean indicating whether to minimize (TRUE) or maximize (FALSE) the metric. |
a tibble containing the best model based on the selected metric.
the best model is selected based on a specific metric ('mae', 'mape','mase','smape','rmse','rsq'). The default is to minimize the metric. However, if the model is being selected based on rsq minimize should be FALSE.
library(dplyr) library(earth) data <- sknifedatar::data_avellaneda %>% mutate(date=as.Date(date)) %>% filter(date<'2012-06-01') recipe_date <- recipes::recipe(value ~ ., data = data) %>% recipes::step_date(date, features = c('dow','doy','week','month','year')) mars <- parsnip::mars(mode = 'regression') %>% parsnip::set_engine('earth') wfsets <- workflowsets::workflow_set( preproc = list( R_date = recipe_date), models = list(M_mars = mars), cross = TRUE) wffits <- sknifedatar::modeltime_wfs_fit(.wfsets = wfsets, .split_prop = 0.8, .serie=data)#>#>#>#>#>#> ── 1 models fitted ♥ ───────────────────────────────────────────────────────────#>#> 0 models deleted x ──#>sknifedatar::modeltime_wfs_bestmodel(.wfs_results = wffits, .metric='rsq', .minimize = FALSE)#> # A tibble: 1 x 4 #> .model_id rank .model_desc .fit_model #> <chr> <int> <chr> <list> #> 1 R_date_M_mars 1 EARTH <model_time [1 × 3]>