Nothing
context("gpb.plot.importance()")
# Avoid that long tests get executed on CRAN
if(Sys.getenv("GPBOOST_ALL_TESTS") == "GPBOOST_ALL_TESTS"){
test_that("gpb.plot.importance() should run without error for well-formed inputs", {
data(agaricus.train, package = "gpboost")
train <- agaricus.train
dtrain <- gpb.Dataset(train$data, label = train$label)
params <- list(
objective = "binary"
, learning_rate = 0.01
, num_leaves = 63L
, max_depth = -1L
, min_data_in_leaf = 1L
, min_sum_hessian_in_leaf = 1.0
)
model <- gpb.train(params, dtrain, 3L, verbose = 0)
tree_imp <- gpb.importance(model, percentage = TRUE)
# # Check that there are no plots present before plotting
# expect_null(dev.list())
args_no_cex <- list(
"tree_imp" = tree_imp
, top_n = 10L
, measure = "Gain"
)
args_cex <- args_no_cex
args_cex[["cex"]] <- 0.75
for (arg_list in list(args_no_cex, args_cex)) {
resDT <- do.call(
what = gpb.plot.importance
, args = arg_list
)
# Check that gpb.plot.importance() returns the data.table of the plotted data
expect_true(data.table::is.data.table(resDT))
expect_named(resDT, c("Feature", "Gain", "Cover", "Frequency"))
# Check that a plot was produced
expect_false(is.null(dev.list()))
# remove all plots
dev.off()
expect_null(dev.list())
}
})
}
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.