Nothing
skip_if_not_installed("mlr3")
skip_if_not_installed("paradox")
skip_if_not_installed("mlr3tuning")
skip_if_not_installed("patchwork")
skip_if_not_installed("mlr3tuning")
skip_if_not_installed("mlr3learners")
library(mlr3tuning)
requireNamespace("mlr3learners")
learner = mlr3::lrn("classif.rpart")
learner$param_set$values$cp = paradox::to_tune(1e-04, 1e-1, logscale = TRUE)
learner$param_set$values$minsplit = paradox::to_tune(2, 128, logscale = TRUE)
set.seed(42)
instance = TuningInstanceBatchSingleCrit$new(
task = mlr3::tsk("sonar"),
learner = learner,
resampling = mlr3::rsmp("cv", folds = 3),
measure = mlr3::msr("classif.ce"),
terminator = trm("evals", n_evals = 100))
tuner = tnr("random_search", batch_size = 10)
invoke(tuner$optimize, instance, .seed = 123)
test_that("fortify.TuningInstanceBatchSingleCrit", {
f = fortify(instance)
expect_data_table(f, nrows = 100)
})
test_that("autoplot.TuningInstanceBatchSingleCrit", {
skip_on_cran()
expect_single = function(id, plot) {
expect_true(is.ggplot(plot))
expect_doppelganger(sprintf("tisc_%s", id), plot)
}
expect_multiple = function(id, plots) {
assert_string(id)
expect_class(plots, "DelayedPatchworkPlot")
for (i in seq_along(plots)) {
cur = plots[[i]]
expect_true(is.ggplot(cur))
expect_doppelganger(sprintf("tisc_%s_%02i", id, i), cur)
}
}
p = autoplot(instance, type = "marginal")
expect_multiple("marginal", p)
p = autoplot(instance, type = "marginal", cols_x = "x_domain_cp")
expect_multiple("marginal_x_domain", p)
p = autoplot(instance, type = "marginal", trafo = TRUE)
expect_multiple("marginal_trafo", p)
p = autoplot(instance, type = "performance")
expect_single("performance", p)
p = autoplot(instance, type = "parameter")
expect_multiple("parameter", p)
p = autoplot(instance, type = "parameter", cols_x = "x_domain_cp")
expect_multiple("parameter_x_domain", p)
p = autoplot(instance, type = "parameter", trafo = TRUE)
expect_multiple("parameter_trafo", p)
p = autoplot(instance, type = "parameter", return_list = TRUE)
expect_multiple("parameter_return_list", p)
p = autoplot(instance, type = "surface")
expect_single("surface", p)
p = autoplot(instance, type = "surface", grid_resolution = 50)
expect_single("surface_grid_50", p)
p = autoplot(instance, type = "surface", learner = lrn("regr.lm"))
expect_single("surface_regr_lm", p)
p = autoplot(instance, type = "points")
expect_single("points", p)
p = autoplot(instance, type = "parallel")
expect_single("parallel", p)
p = autoplot(instance, type = "pairs")
expect_s3_class(p, "ggmatrix")
p = autoplot(instance, type = "incumbent")
expect_single("incumbent", p)
# with categoircal params
# learner = mlr3::lrn("classif.xgboost")
# learner$param_set$values$eta = paradox::to_tune(0.01, 0.1)
# learner$param_set$values$nrounds = paradox::to_tune(1, 2)
# learner$param_set$values$booster = paradox::to_tune()
# learner$param_set$values$maximize = paradox::to_tune()
# set.seed(42)
# instance = TuningInstanceBatchSingleCrit$new(
# task = mlr3::tsk("iris"),
# learner = learner,
# resampling = mlr3::rsmp("holdout"),
# measure = mlr3::msr("classif.ce"),
# terminator = trm("evals", n_evals = 4))
# tuner = tnr("random_search", batch_size = 2)
# tuner$optimize(instance)
# p = autoplot(instance, type = "parallel")
# expect_single("parallel_xgboost_1", p)
# p = autoplot(instance, type = "parallel", cols_x = c("maximize", "booster"))
# expect_true(is.ggplot(p))
# # expect_single("parallel_xgboost_1", p)
# expect_error(autoplot(instance, type = "surface"),
# regexp = "Surface plots can only be drawn with 2 parameters.",
# fixed = TRUE)
# expect_error(autoplot(instance, type = "surface", cols_x = "nrounds"),
# regexp = "Surface plots can only be drawn with 2 parameters.",
# fixed = TRUE)
# instance$archive$data[1, 1] = NA
# expect_error(autoplot(instance, type = "parallel"),
# regexp = "Parallel coordinate plots cannot be displayed with missing data.",
# fixed = TRUE)
})
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.