library(workflows)
library(dplyr)
library(recipes)
library(parsnip)
library(rsample)
library(yardstick)
test_that("showing notes", {
skip_if_not_installed("modeldata")
skip_if(!rankdeficient_version)
data(Chicago, package = "modeldata")
base_wflow <-
workflow() %>%
add_model(linear_reg())
role_rec <-
recipe(ridership ~ ., data = Chicago) %>%
step_date(date, id = "step_date") %>%
update_role(date, new_role = "date") %>%
update_role_requirements("date", bake = FALSE)
role_bp_wflow <-
base_wflow %>%
add_recipe(role_rec)
set.seed(1)
rs <- vfold_cv(Chicago)
skip_if(packageVersion("dplyr") < "1.1.1")
expect_snapshot(res_roles <- role_bp_wflow %>% fit_resamples(rs))
expect_snapshot(show_notes(res_roles))
# example with warnings
simple_rec <-
recipe(ridership ~ ., data = Chicago) %>%
step_holiday(date) %>%
step_date(date, keep_original_cols = FALSE) %>%
step_dummy(all_nominal_predictors(), one_hot = TRUE)
simple_wflow <-
base_wflow %>%
add_recipe(simple_rec)
expect_snapshot(res_simple <- simple_wflow %>% fit_resamples(rs))
expect_snapshot(show_notes(res_simple))
# nothing to show
clean_rec <-
recipe(ridership ~ Austin + Belmont, data = Chicago)
clean_wflow <-
base_wflow %>%
add_recipe(clean_rec)
res_clean <- clean_wflow %>% fit_resamples(rs)
expect_snapshot(show_notes(.Last.tune.result))
# Get cli lines right
set.seed(1)
dat <- modeldata::sim_classification(150, intercept = 15)
rs <- rsample::vfold_cv(dat)
expect_snapshot(
fit_lr <-
parsnip::logistic_reg() %>%
fit_resamples(class ~ ., rs)
)
expect_snapshot(show_notes(fit_lr))
})
test_that("notes are sorted in the correct order", {
# set `apparent = TRUE` so that resamples aren't in alphabetical order by id
mt_boots <- bootstraps(mtcars, 3, apparent = TRUE)
# induce the size zero yardstick error in Bootstrap1
mt_boots$splits[[1]]$out_id <- numeric(0)
suppressMessages({
mt_res <- fit_resamples(linear_reg(), mpg ~ ., mt_boots)
})
boots_1_loc <- which(mt_res$id == "Bootstrap1")
boots_1_notes <- mt_res$.notes[[boots_1_loc]]
expect_equal(nrow(boots_1_notes), 1)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.