Nothing
test_that("autoplot - classification", {
skip_if_not_installed("modeldata")
skip_if_not_installed("recipes")
suppressPackageStartupMessages(library(recipes))
data(ad_data, package = "modeldata")
ad_rec <-
recipe(Class ~ ., data = ad_data) |>
step_pca(all_numeric_predictors(), -male, -age, num_comp = 20) |>
step_dummy(all_factor_predictors())
cls_r_fit <-
workflow(ad_rec, logistic_reg()) |>
fit(data = ad_data)
set.seed(1)
res_orig <-
importance_perm(
wflow = cls_r_fit,
dat = ad_data,
metrics = cls_mtr,
type = "original",
size = 20,
times = 3
)
p1 <- autoplot(res_orig)
expect_s3_class(p1, "ggplot")
expect_equal(
p1$labels,
list(
y = NULL,
x = "Permutation Importance Score",
xintercept = "xintercept"
)
)
expect_equal(names(p1$mapping), "y")
expect_equal(
rlang::quo_get_expr(p1$mapping$y) |> as.character(),
"predictor"
)
expect_equal(length(p1$layers), 2)
expect_equal(names(p1$layers[[1]]$mapping), "xintercept")
expect_equal(
rlang::quo_get_expr(p1$layers[[1]]$mapping$xintercept) |> as.character(),
"xintercept"
)
expect_equal(names(p1$layers[[2]]$mapping), "x")
expect_equal(
rlang::quo_get_expr(p1$layers[[2]]$mapping$x) |> as.character(),
"importance"
)
p2 <- autoplot(res_orig, top = 3, type = "difference")
expect_s3_class(p2, "ggplot")
expect_equal(
length(levels(p2$data$predictor)),
3L
)
expect_equal(
p2$labels,
list(
y = NULL,
x = "Permutation Importance Score",
xintercept = "xintercept",
xmin = "mean - std_errs * std_err",
xmax = "mean + std_errs * std_err"
)
)
expect_equal(length(p2$layers), 3)
expect_equal(names(p2$mapping), "y")
expect_equal(
rlang::quo_get_expr(p2$mapping$y) |> as.character(),
"predictor"
)
expect_equal(names(p2$layers[[1]]$mapping), "xintercept")
expect_equal(
rlang::quo_get_expr(p2$layers[[1]]$mapping$xintercept) |> as.character(),
"xintercept"
)
expect_equal(names(p2$layers[[2]]$mapping), "x")
expect_equal(
rlang::quo_get_expr(p2$layers[[2]]$mapping$x) |> as.character(),
"mean"
)
expect_equal(names(p2$layers[[3]]$mapping), c("xmin", "xmax"))
expect_equal(
rlang::quo_get_expr(p2$layers[[3]]$mapping$xmin) |> as.character(),
c("-", "mean", "std_errs * std_err")
)
expect_equal(
rlang::quo_get_expr(p2$layers[[3]]$mapping$xmax) |> as.character(),
c("+", "mean", "std_errs * std_err")
)
###
set.seed(1)
res_derv <-
importance_perm(
wflow = cls_r_fit,
dat = ad_data,
metrics = cls_mtr,
type = "derived",
size = 20,
times = 3
)
p3 <- autoplot(res_derv, metric = "brier_class")
expect_s3_class(p3, "ggplot")
expect_equal(
p3$labels,
list(
y = NULL,
x = "Permutation Importance Score",
xintercept = "xintercept"
)
)
expect_equal(length(p3$layers), 2)
expect_equal(names(p3$mapping), "y")
expect_equal(
rlang::quo_get_expr(p3$mapping$y) |> as.character(),
"predictor"
)
expect_equal(names(p3$layers[[1]]$mapping), "xintercept")
expect_equal(
rlang::quo_get_expr(p3$layers[[1]]$mapping$xintercept) |> as.character(),
"xintercept"
)
expect_equal(names(p3$layers[[2]]$mapping), "x")
expect_equal(
rlang::quo_get_expr(p3$layers[[2]]$mapping$x) |> as.character(),
"importance"
)
})
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.