The tidymodels Package


  Max Kuhn

The tidymodels package is now on CRAN. Similar to its sister package tidyverse, it can be used to install and load tidyverse packages related to modeling and analysis. Currently, it installs and attaches broom, dplyr, ggplot2, infer, purrr, recipes, rsample, tibble, and yardstick.

#> ── Attaching packages ───────────────────────────────── tidymodels 0.0.1 ──
#> ✔ ggplot2   3.0.0     ✔ recipes   0.1.3
#> ✔ tibble    1.4.2     ✔ broom     0.5.0
#> ✔ purrr     0.2.5     ✔ yardstick 0.0.1
#> ✔ dplyr     0.7.6     ✔ infer     0.3.0
#> ✔ rsample   0.0.2
#> ── Conflicts ──────────────────────────────────── tidymodels_conflicts() ──
#> ✖ rsample::fill() masks tidyr::fill()
#> ✖ dplyr::filter() masks stats::filter()
#> ✖ dplyr::lag()    masks stats::lag()
#> ✖ recipes::step() masks stats::step()

tidymodels also contains a burgeoning list of tagged packages. These can be used to install sets of packages for specific purposes. For example, if you are in need of additional tidy tools for analyzing text data:

tag_attach("text analysis")
#> ── Attaching packages ───────────────────────────────── tidymodels 0.0.1 ──
#> ✔ tidytext 0.1.9     ✔ keras    2.1.6

These tags will be updated with each version of tidymodels as new packages are released.

The number of tidyverse modeling package continues to grow. Some packages on the development horizon include:

  • parsnip: a unified interface to models. This should significantly reduce the amount of syntactical minutia that you’ll need to memorize by having one standardized model function across different packages and by harmonizing the parameter names across models.

  • dials: tools for tuning parameters. dials contains objects and methods for creating and validating tuning parameter values as well as grid search tools. This is designed to work seamlessly with parsnip.

  • embed: an add-on package for recipes. This can be used to efficiently encode high-cardinality categorical predictors using supervised methods such as likelihood encodings and entity embeddings.

  • modelgenerics: a developer-related tool. This lightweight package can help reduce package dependencies by providing a set of generic methods for classes which are used across packages. For example, if you are creating a new tidy method for your model, this package can be used instead of broom (and its dependencies).

Keep an eye on the tidymodels organization page for up-to-date information.