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.

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")


as.data.table(mlr_learners) for a complete table of all (also dynamically created) Learner implementations.

## Examples

learner = lrn("classif.debug")
learner$param_set$values = list(message_train = 1, save_tasks = TRUE)

# this should signal a message
learner$train(task)#> Message from classif.debug->train()learner$predict(task)#> <PredictionClassif> for 150 observations:
names(learner\$model)#> [1] "response"     "task_train"   "task_predict"