Nothing
df <- tibble::tibble(
color = c("blue", "red"),
cut = c("Ideal", "Premium"),
carat = c(1, 2),
price = c(2, 3),
table = c(3, 4)
)
df_start <- dplyr::select(df, carat)
df_start_cat <- dplyr::select(df, carat, price, table)
df_start_num <- dplyr::select(df, color, cut)
# roadmap
roadmap <- roadmap(conf_data = df, start_data = df_start)
default_tuner <- list(
v = 3,
grid = 3,
metrics = yardstick::metric_set(yardstick::rmse)
)
default_tuner_alt <- list(
v = 5,
grid = 5,
metrics = yardstick::metric_set(yardstick::mae)
)
test_that("input errors work correctly", {
expect_error(
construct_tuners(
roadmap = "notaroadmap",
default_regression_tuner = NULL,
default_classification_tuner = NULL,
custom_tuners = NULL
),
regexp = "`roadmap` must be a roadmap object",
fixed = TRUE
)
expect_error(
construct_tuners(
roadmap = df,
default_regression_tuner = "notatuner",
custom_tuners = NULL
),
regexp = "`roadmap` must be a roadmap object",
fixed = TRUE
)
expect_error(
construct_tuners(
roadmap = roadmap,
default_regression_tuner = default_tuner,
custom_tuners = list("table" = "table")
),
regexp = "subscript out of bounds",
fixed = TRUE
)
# incorrect variable names
expect_error(
construct_tuners(
roadmap = roadmap,
default_regression_tuner = default_tuner,
custom_tuners = list(list("vars" = c("color", "notavar"),
"tuner" = default_tuner_alt))
),
regexp = "Custom tuner(s) list has variables not in visit_sequence: notavar",
fixed = TRUE
)
})
test_that("directly test outputs", {
tuners_default <- construct_tuners(
roadmap = roadmap,
default_regression_tuner = default_tuner,
default_classification_tuner = default_tuner
)
expect_length(tuners_default, 4)
expect_equal(class(tuners_default[[1]]), "list")
expect_equal(class(tuners_default[[2]]), "list")
expect_equal(class(tuners_default[[3]]), "list")
expect_equal(class(tuners_default[[4]]), "list")
tuners_hybrid <- construct_tuners(
roadmap = roadmap,
default_regression_tuner = default_tuner,
default_classification_tuner = default_tuner,
custom_tuners = list(list(vars = "price", tuner = default_tuner_alt))
)
expect_length(tuners_hybrid, 4)
expect_equal(class(tuners_hybrid[[1]]), "list")
expect_equal(class(tuners_hybrid[[2]]), "list")
expect_equal(class(tuners_hybrid[[3]]), "list")
expect_equal(class(tuners_hybrid[[4]]), "list")
})
test_that("fully default and fully custom are identical", {
default <- construct_tuners(
roadmap = roadmap,
default_regression_tuner = default_tuner,
default_classification_tuner = default_tuner_alt
)
custom <- construct_tuners(
roadmap = roadmap,
custom_tuners = list(
list(vars = c("price", "table"),
tuner = default_tuner),
list(vars = c("color", "cut"),
tuner = default_tuner_alt)
)
)
expect_equal(default, custom)
})
test_that("construct_tuners() correctly handles variables without variation ", {
conf_data <- tibble::tibble(
start = c(1, 1, 1),
num_var1 = c(1, 1, 1),
num_var2 = c(1, 2, 3),
fctr_var1 = factor(c("a", "a", "a")),
fctr_var2 = factor(c("a", "b", "c"))
)
start_data <- conf_data |>
dplyr::select(start)
roadmap <- roadmap(
conf_data = conf_data,
start_data = start_data
) |>
add_sequence_manual(num_var1, num_var2, fctr_var1, fctr_var2)
tuners <- construct_tuners(
roadmap = roadmap,
default_regression_tuner = default_tuner,
default_classification_tuner = default_tuner
)
expect_equal(tuners[[1]], "identity")
expect_equal(tuners[[3]], "identity")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.