workflows
                                
                                
                                
                                    workflows copied to clipboard
                            
                            
                            
                        Modeling Workflows
workflows 
What is a workflow?
A workflow is an object that can bundle together your pre-processing,
modeling, and post-processing requests. For example, if you have a
recipe and parsnip model, these can be combined into a workflow. The
advantages are:
- 
You don’t have to keep track of separate objects in your workspace.
 - 
The recipe prepping, model fitting, and postprocessor estimation (which may include data splitting) can be executed using a single call to
fit(). - 
If you have custom tuning parameter settings, these can be defined using a simpler interface when combined with tune.
 
Installation
You can install workflows from CRAN with:
install.packages("workflows")
You can install the development version from GitHub with:
# install.packages("pak")
pak::pak("tidymodels/workflows")
Example
Suppose you were modeling data on cars. Say…the fuel efficiency of 32 cars. You know that the relationship between engine displacement and miles-per-gallon is nonlinear, and you would like to model that as a spline before adding it to a Bayesian linear regression model. You might have a recipe to specify the spline:
library(recipes)
library(parsnip)
library(workflows)
spline_cars <- recipe(mpg ~ ., data = mtcars) %>% 
  step_ns(disp, deg_free = 10)
and a model object:
bayes_lm <- linear_reg() %>% 
  set_engine("stan")
To use these, you would generally run:
spline_cars_prepped <- prep(spline_cars, mtcars)
bayes_lm_fit <- fit(bayes_lm, mpg ~ ., data = juice(spline_cars_prepped))
You can’t predict on new samples using bayes_lm_fit without the
prepped version of spline_cars around. You also might have other
models and recipes in your workspace. This might lead to getting them
mixed-up or forgetting to save the model/recipe pair that you are most
interested in.
workflows makes this easier by combining these objects together:
car_wflow <- workflow() %>% 
  add_recipe(spline_cars) %>% 
  add_model(bayes_lm)
Now you can prepare the recipe and estimate the model via a single call
to fit():
car_wflow_fit <- fit(car_wflow, data = mtcars)
You can alter existing workflows using update_recipe() /
update_model() and remove_recipe() / remove_model().
Contributing
This project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
- 
For questions and discussions about tidymodels packages, modeling, and machine learning, please post on Posit Community.
 - 
If you think you have encountered a bug, please submit an issue.
 - 
Either way, learn how to create and share a reprex (a minimal, reproducible example), to clearly communicate about your code.
 - 
Check out further details on contributing guidelines for tidymodels packages and how to get help.