Nothing
test_that("get_varimp works", {
expect_error(
get_varimp(sgb_model = "sgb"),
"Model must be of class mboost"
)
library(mboost)
library(dplyr)
set.seed(1)
df <- data.frame(
x1 = rnorm(100), x2 = rnorm(100), x3 = rnorm(100),
x4 = rnorm(100), x5 = runif(100)
)
df <- df %>%
mutate_all(function(x) {
as.numeric(scale(x))
})
df$y <- df$x1 + df$x4 + df$x5
group_df <- data.frame(
group_name = c(1, 1, 1, 2, 2),
var_name = c("x1", "x2", "x3", "x4", "x5")
)
sgb_formula <- as.formula(create_formula(alpha = 0.3, group_df = group_df))
sgb_model <- mboost(formula = sgb_formula, data = df)
sgb_varimp <- sgboost::get_varimp(sgb_model)
expect_equal(is.data.frame(sgb_varimp$varimp), TRUE)
expect_equal(is.data.frame(sgb_varimp$group_importance), TRUE)
expect_equal(dim(sgb_varimp$group_importance)[2], 2)
expect_equal(
tibble(
reduction = c(1.62, 0.588),
blearner = c(
"bols(x4, x5, intercept = FALSE, df = 0.7)",
"bols(x1, intercept = FALSE, df = 0.3)"
),
predictor = c("x4, x5", "x1"),
selfreq = c(0.59, 0.41),
type = c("group", "individual"),
relative_importance = c(0.7332, 0.2668)
),
sgb_varimp$varimp,
tolerance = 0.011
)
expect_equal(
tibble(
type = c("group", "individual"),
importance = c(0.7332, 0.2668)
),
sgb_varimp$group_importance,
tolerance = 0.011
)
})
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.