Skip to content

Commit b6c99d0

Browse files
authored
Merge pull request #366 from tidymodels/engine-docs
Engine docs for #362
2 parents 21f0bb2 + df8d9a4 commit b6c99d0

33 files changed

+149
-3
lines changed

.github/workflows/R-CMD-check.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
on:
22
push:
3+
branches:
4+
- master
35
pull_request:
4-
types: [opened, synchronize, reopened]
6+
branches:
7+
- master
58

69
name: R-CMD-check
710

@@ -18,7 +21,7 @@ jobs:
1821
- {os: macOS-latest, r: 'release'}
1922
- {os: windows-latest, r: 'release'}
2023
- {os: windows-latest, r: '3.6'}
21-
- {os: ubuntu-16.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
24+
- {os: ubuntu-16.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest", http-user-agent: "R/4.0.0 (ubuntu-16.04) R (4.0.0 x86_64-pc-linux-gnu x86_64 linux-gnu) on GitHub Actions" }
2225
- {os: ubuntu-16.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
2326
- {os: ubuntu-16.04, r: 'oldrel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
2427
- {os: ubuntu-16.04, r: '3.5', rspm: "https://packagemanager.rstudio.com/cran/__linux__/xenial/latest"}
@@ -34,6 +37,7 @@ jobs:
3437
- uses: r-lib/actions/setup-r@master
3538
with:
3639
r-version: ${{ matrix.config.r }}
40+
http-user-agent: ${{ matrix.config.http-user-agent }}
3741

3842
- uses: r-lib/actions/setup-pandoc@master
3943

@@ -79,7 +83,7 @@ jobs:
7983
run: |
8084
reticulate::conda_create('r-reticulate', packages = c('python==3.6.9'))
8185
tensorflow::install_tensorflow(version='1.14.0')
82-
shell: Rscript {0}
86+
shell: Rscript {0}
8387

8488
- name: Session info
8589
run: |

NAMESPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ export(set_model_mode)
168168
export(set_new_model)
169169
export(set_pred)
170170
export(show_call)
171+
export(show_engines)
171172
export(show_fit)
172173
export(show_model_info)
173174
export(surv_reg)

NEWS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# parsnip (development version)
22

3+
* `show_engines()` will provide information on the current set for a model.
4+
35
# parsnip 0.1.3
46

57
* A `glance()` method for `model_fit` objects was added (#325)

R/boost_tree.R

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
#' \item \pkg{Spark}: `"spark"`
6363
#' }
6464
#'
65+
#' For this model, other packages may add additional engines. Use
66+
#' [show_engines()] to see the current set of engines.
6567
#'
6668
#' @includeRmd man/rmd/boost-tree.Rmd details
6769
#'
@@ -81,6 +83,8 @@
8183
#' @importFrom purrr map_lgl
8284
#' @seealso [fit()], [set_engine()]
8385
#' @examples
86+
#' show_engines("boost_tree")
87+
#'
8488
#' boost_tree(mode = "classification", trees = 20)
8589
#' # Parameters can be represented by a placeholder:
8690
#' boost_tree(mode = "regression", mtry = varying())

R/decision_tree.R

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
#' @importFrom purrr map_lgl
6363
#' @seealso [fit()]
6464
#' @examples
65+
#' show_engines("decision_tree")
66+
#'
6567
#' decision_tree(mode = "classification", tree_depth = 5)
6668
#' # Parameters can be represented by a placeholder:
6769
#' decision_tree(mode = "regression", cost_complexity = varying())

R/engines.R

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,24 @@ set_engine <- function(object, engine, ...) {
106106
engine = object$engine
107107
)
108108
}
109+
110+
#' Display available engines for a model
111+
#'
112+
#' The possible engines for a model may depend on what packages are loaded. There
113+
#' are some `parsnip`-adjacent packages that only add engines to existing models.
114+
#' @param x The name of a `parsnip` model (e.g., "linear_reg", "mars", etc.)
115+
#' @return A tibble.
116+
#' show_engines("linear_reg")
117+
#' @export
118+
show_engines <- function(x) {
119+
if (!is.character(x) || length(x) > 1) {
120+
rlang::abort("`show_engines()` takes a single character string as input.")
121+
}
122+
res <- try(get_from_env(x), silent = TRUE)
123+
if (inherits(res, "try-error")) {
124+
rlang::abort(
125+
paste0("No results found for model function '", x, "'.")
126+
)
127+
}
128+
res
129+
}

R/linear_reg.R

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@
4242
#' \item \pkg{keras}: `"keras"`
4343
#' }
4444
#'
45+
#' For this model, other packages may add additional engines. Use
46+
#' [show_engines()] to see the current set of engines.
47+
#'
4548
#' @includeRmd man/rmd/linear-reg.Rmd details
4649
#'
4750
#' @note For models created using the spark engine, there are
@@ -59,6 +62,8 @@
5962
#'
6063
#' @seealso [fit()], [set_engine()]
6164
#' @examples
65+
#' show_engines("linear_reg")
66+
#'
6267
#' linear_reg()
6368
#' # Parameters can be represented by a placeholder:
6469
#' linear_reg(penalty = varying())

R/logistic_reg.R

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
#' \item \pkg{keras}: `"keras"`
4141
#' }
4242
#'
43+
#' For this model, other packages may add additional engines. Use
44+
#' [show_engines()] to see the current set of engines.
45+
#'
4346
#' @includeRmd man/rmd/logistic-reg.Rmd details
4447
#'
4548
#' @note For models created using the spark engine, there are
@@ -57,6 +60,8 @@
5760
#'
5861
#' @seealso [fit()]
5962
#' @examples
63+
#' show_engines("logistic_reg")
64+
#'
6065
#' logistic_reg()
6166
#' # Parameters can be represented by a placeholder:
6267
#' logistic_reg(penalty = varying())

R/mars.R

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
#' @importFrom purrr map_lgl
4242
#' @seealso [fit()]
4343
#' @examples
44+
#' show_engines("mars")
45+
#'
4446
#' mars(mode = "regression", num_terms = 5)
4547
#' @export
4648
mars <-

R/mlp.R

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
#' @importFrom purrr map_lgl
5757
#' @seealso [fit()]
5858
#' @examples
59+
#' show_engines("mlp")
60+
#'
5961
#' mlp(mode = "classification", penalty = 0.01)
6062
#' # Parameters can be represented by a placeholder:
6163
#' mlp(mode = "regression", hidden_units = varying())

0 commit comments

Comments
 (0)