A simple LearnerClassif used primarily in the unit tests and for debugging purposes. If no hyperparameter is set, it simply constantly predicts a randomly selected label. The following hyperparameters trigger the following actions:

message_train:

Outputs a message during train if the parameter value exceeds runif(1).

message_predict:

Outputs a message during predict if the parameter value exceeds runif(1).

warning_train:

Signals a warning during train if the parameter value exceeds runif(1).

warning_predict:

Signals a warning during predict if the parameter value exceeds runif(1).

error_train:

Raises an exception during train if the parameter value exceeds runif(1).

error_predict:

Raises an exception during predict if the parameter value exceeds runif(1).

segfault_train:

Provokes a segfault during train if the parameter value exceeds runif(1).

segfault_predict:

Provokes a segfault during predict if the parameter value exceeds runif(1).

predict_missing

Ratio of predictions which will be NA.

save_tasks:

Saves input task in model slot during training and prediction.

x:

Numeric parameter. Has no effect.

Note that segfaults may not work on your operating system. Also note that if they work, they will tear down your R session immediately!

Format

R6::R6Class inheriting from LearnerClassif.

Construction

LearnerClassifDebug$new()
mlr_learners$get("classif.debug")
lrn("classif.debug")

See also

Examples

learner = lrn("classif.debug") learner$param_set$values = list(message_train = 1, save_tasks = TRUE) # this should signal a message task = tsk("iris") learner$train(task)
#> Message from classif.debug->train()
learner$predict(task)
#> <PredictionClassif> for 150 observations: #> row_id truth response #> 1 setosa virginica #> 2 setosa virginica #> 3 setosa virginica #> --- #> 148 virginica virginica #> 149 virginica virginica #> 150 virginica virginica
# task_train and task_predict are the input tasks for train() and predict() names(learner$model)
#> [1] "response" "task_train" "task_predict"