15.4 Finalizing the model
Now we can finalize our choice of model.
<-
wflow_id_best %>%
res_ranks slice_min(rank, with_ties = FALSE) %>%
pull(wflow_id)
<-
wf_best %>%
res_grid extract_workflow_set_result(wflow_id_best) %>%
select_best(metric = 'rmse')
<-
fit_best %>%
res_grid extract_workflow(wflow_id_best) %>%
finalize_workflow(wf_best) %>%
last_fit(split = split)
<-
metrics_best %>%
fit_best collect_metrics()
metrics_best
## # A tibble: 2 × 4
## .metric .estimator .estimate .config
## <chr> <chr> <dbl> <chr>
## 1 rmse standard 0.514 Preprocessor1_Model1
## 2 rsq standard 0.816 Preprocessor1_Model1
Finally, the canonical observed vs. predicted scatter plot.
<-
p_preds %>%
fit_best collect_predictions() %>%
ggplot() +
aes(x = !!col_y_sym, y = .pred) +
geom_abline(linetype = 2) +
# Big cuz we don't have that many points.
geom_point(size = 4) +
::coord_obs_pred() +
tunelabs(x = 'observed', y = 'predicted')
p_preds