test_that("extract parameter set from recipe with no steps", {
skip_if_not_installed("dials")
bare_rec <- recipe(mpg ~ ., data = mtcars)
bare_info <- extract_parameter_set_dials(bare_rec)
check_parameter_set_tibble(bare_info)
expect_equal(nrow(bare_info), 0)
})
test_that("extract parameter set from recipe with no tunable parameters", {
skip_if_not_installed("dials")
rm_rec <-
recipe(mpg ~ ., data = mtcars) %>%
step_rm(hp)
rm_info <- extract_parameter_set_dials(rm_rec)
check_parameter_set_tibble(rm_info)
expect_equal(nrow(rm_info), 0)
})
test_that("extract parameter set from recipe with tunable parameters", {
skip_if_not_installed("dials")
spline_rec <-
recipe(mpg ~ ., data = mtcars) %>%
step_impute_knn(all_numeric_predictors(), neighbors = hardhat::tune("imputation")) %>%
step_other(all_nominal(), threshold = hardhat::tune()) %>%
step_dummy(all_nominal()) %>%
step_normalize(all_predictors()) %>%
step_bs(all_predictors(), deg_free = hardhat::tune(), degree = hardhat::tune())
spline_info <- extract_parameter_set_dials(spline_rec)
check_parameter_set_tibble(spline_info)
expected_cols <- c("step_impute_knn", "step_other", "step_bs", "step_bs")
expect_equal(
spline_info$component,
expected_cols
)
expect_true(all(spline_info$source == "recipe"))
nms <- c("neighbors", "threshold", "deg_free", "degree")
expect_equal(spline_info$name, nms)
ids <- c("imputation", "threshold", "deg_free", "degree")
expect_equal(spline_info$id, ids)
expect_equal(spline_info$object[[1]], dials::neighbors(c(1, 10)))
expect_equal(spline_info$object[[2]], dials::threshold(c(0, 1 / 10)))
expect_equal(spline_info$object[[3]], dials::spline_degree(c(1, 15)))
expect_equal(spline_info$object[[4]], dials::degree_int(c(1, 2)))
})
# -------------------------------------------------------------------------
test_that("extract single parameter from recipe with no steps", {
skip_if_not_installed("dials")
bare_rec <- recipe(mpg ~ ., data = mtcars)
expect_snapshot(error = TRUE,
extract_parameter_dials(bare_rec, parameter = "none there")
)
})
test_that("extract single parameter from recipe with no tunable parameters", {
skip_if_not_installed("dials")
rm_rec <-
recipe(mpg ~ ., data = mtcars) %>%
step_rm(hp)
expect_snapshot(error = TRUE,
extract_parameter_dials(rm_rec, parameter = "none there")
)
})
test_that("extract single parameter from recipe with tunable parameters", {
skip_if_not_installed("dials")
spline_rec <-
recipe(mpg ~ ., data = mtcars) %>%
step_impute_knn(all_numeric_predictors(), neighbors = hardhat::tune("imputation")) %>%
step_other(all_nominal(), threshold = hardhat::tune()) %>%
step_dummy(all_nominal()) %>%
step_normalize(all_predictors()) %>%
step_bs(all_predictors(), deg_free = hardhat::tune(), degree = hardhat::tune())
expect_equal(
extract_parameter_dials(spline_rec, "imputation"),
dials::neighbors()
)
expect_equal(
extract_parameter_dials(spline_rec, "threshold"),
dials::threshold(c(0, 1 / 10))
)
expect_equal(
extract_parameter_dials(spline_rec, "deg_free"),
dials::spline_degree(range = c(1, 15))
)
expect_equal(
extract_parameter_dials(spline_rec, "degree"),
dials::degree_int(c(1, 2))
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.