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:
- error_predict:
Probability to raise an exception during predict.
- error_train:
Probability to raises an exception during train.
- message_predict:
Probability to output a message during predict.
- message_train:
Probability to output a message during train.
- predict_missing:
Ratio of predictions which will be NA.
- predict_missing_type:
To to encode missingness. “na” will insert NA values, “omit” will just return fewer predictions than requested.
- save_tasks:
Saves input task in
model
slot during training and prediction.- segfault_predict:
Probability to provokes a segfault during predict.
- segfault_train:
Probability to provokes a segfault during train.
- sleep_train:
Function returning a single number determining how many seconds to sleep during
$train()
.- sleep_predict:
Function returning a single number determining how many seconds to sleep during
$predict()
.- threads:
Number of threads to use. Has no effect.
- warning_predict:
Probability to signal a warning during predict.
- warning_train:
Probability to signal a warning during train.
- x:
Numeric tuning parameter. Has no effect.
- iter:
Integer parameter for testing hotstarting.
Note that segfaults may not be triggered reliably on your operating system. Also note that if they work as intended, they will tear down your R session immediately!
Dictionary
This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn()
:
Meta Information
Task type: “classif”
Predict Types: “response”, “prob”
Feature Types: “logical”, “integer”, “numeric”, “character”, “factor”, “ordered”
Required Packages: mlr3
Parameters
Id | Type | Default | Levels | Range |
error_predict | numeric | 0 | \([0, 1]\) | |
error_train | numeric | 0 | \([0, 1]\) | |
message_predict | numeric | 0 | \([0, 1]\) | |
message_train | numeric | 0 | \([0, 1]\) | |
predict_missing | numeric | 0 | \([0, 1]\) | |
predict_missing_type | character | na | na, omit | - |
save_tasks | logical | FALSE | TRUE, FALSE | - |
segfault_predict | numeric | 0 | \([0, 1]\) | |
segfault_train | numeric | 0 | \([0, 1]\) | |
sleep_train | untyped | - | - | |
sleep_predict | untyped | - | - | |
threads | integer | - | \([1, \infty)\) | |
warning_predict | numeric | 0 | \([0, 1]\) | |
warning_train | numeric | 0 | \([0, 1]\) | |
x | numeric | - | \([0, 1]\) | |
iter | integer | 1 | \([1, \infty)\) |
See also
Chapter in the mlr3book: https://mlr3book.mlr-org.com/chapters/chapter2/data_and_basic_modeling.html#sec-learners
Package mlr3learners for a solid collection of essential learners.
Package mlr3extralearners for more learners.
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).mlr3pipelines to combine learners with pre- and postprocessing steps.
Package mlr3viz for some generic visualizations.
Extension packages for additional task types:
mlr3proba for probabilistic supervised regression and survival analysis.
mlr3cluster for unsupervised clustering.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Other Learner:
Learner
,
LearnerClassif
,
LearnerRegr
,
mlr_learners
,
mlr_learners_classif.featureless
,
mlr_learners_classif.rpart
,
mlr_learners_regr.debug
,
mlr_learners_regr.featureless
,
mlr_learners_regr.rpart
Super classes
mlr3::Learner
-> mlr3::LearnerClassif
-> LearnerClassifDebug
Examples
learner = lrn("classif.debug")
learner$param_set$values = list(message_train = 1, save_tasks = TRUE)
# this should signal a message
task = tsk("penguins")
learner$train(task)
#> Message from classif.debug->train()
learner$predict(task)
#> <PredictionClassif> for 344 observations:
#> row_ids truth response
#> 1 Adelie Gentoo
#> 2 Adelie Gentoo
#> 3 Adelie Gentoo
#> ---
#> 342 Chinstrap Gentoo
#> 343 Chinstrap Gentoo
#> 344 Chinstrap Gentoo
# task_train and task_predict are the input tasks for train() and predict()
names(learner$model)
#> [1] "response" "pid" "iter" "id" "task_train"
#> [6] "task_predict"