Learn R Programming

mlr3viz (version 0.5.3)

autoplot.TuningInstanceSingleCrit: Plot for TuningInstanceSingleCrit

Description

Generates plots for mlr3tuning::TuningInstanceSingleCrit.

Usage

# S3 method for TuningInstanceSingleCrit
autoplot(
  object,
  type = "marginal",
  cols_x = NULL,
  trafo = FALSE,
  learner = mlr3::lrn("regr.ranger"),
  grid_resolution = 100,
  ...
)

Arguments

type

(character(1)): Type of the plot. Available choices:

  • "marginal": scatter plots of hyperparameter versus performance. The colour of the points shows the batch number.

  • "performance": scatter plots of batch number versus performance.

  • "parameter": scatter plots of batch number versus hyperparameter. The colour of the points shows the performance.

  • "parallel" parallel coordinates plot. Parameter values are rescaled by (x - mean(x)) / sd(x).

  • "points" - scatter plot of two hyperparameters versus performance. The colour of the points shows the performance.

  • "surface": surface plot of 2 hyperparameters versus performance. The performance values are interpolated with the supplied mlr3::Learner.

cols_x

(character()) Column names of hyperparameters. By default, all untransformed hyperparameters are plottet. Transformed hyperparameters are prefixed with x_domain_.

trafo

(logical(1)) Determines if untransformed (FALSE) or transformed (TRUE) hyperparametery are plotted.

learner

(mlr3::Learner) Regression learner used to interpolate the data of the surface plot.

grid_resolution

(numeric()) Resolution of the surface plot.

...

(any): Additional arguments, possibly passed down to the underlying plot functions.

Value

ggplot2::ggplot() object.

Examples

Run this code
# NOT RUN {
if(requireNamespace("mlr3tuning") && requireNamespace("patchwork")) {
library(mlr3tuning)

learner = lrn("classif.rpart")
learner$param_set$values$cp = to_tune(0.001, 0.1)
learner$param_set$values$minsplit = to_tune(1, 10)

instance = TuningInstanceSingleCrit$new(
  task = tsk("iris"),
  learner = learner,
  resampling = rsmp("holdout"),
  measure = msr("classif.ce"),
  terminator = trm("evals", n_evals = 10))

tuner = tnr("random_search")

tuner$optimize(instance)

# plot performance versus batch number
autoplot(instance, type = "performance")

# plot cp values versus performance
autoplot(instance, type = "marginal", cols_x = "cp")

# plot transformed parameter values versus batch number
autoplot(instance, type = "parameter", trafo = TRUE)

# plot parallel coordinates plot
autoplot(instance, type = "parallel")}
# }

Run the code above in your browser using DataLab