This Learner specializes Learner for classification problems:
task_type
is set to "classif"
.
Creates Predictions of class PredictionClassif.
Possible values for predict_types
are:
"response"
: Predicts a class label for each observation in the test set.
"prob"
: Predicts the posterior probability for each class for each observation in the test set.
Additional learner properties include:
"twoclass"
: The learner works on binary classification problems.
"multiclass"
: The learner works on multiclass classification problems.
Predefined learners can be found in the dictionary mlr_learners. Essential classification learners can be found in this dictionary after loading mlr3learners. Additional learners are implement in the Github package https://github.com/mlr-org/mlr3extralearners.
mlr3::Learner
-> LearnerClassif
new()
Creates a new instance of this R6 class.
LearnerClassif$new(
id,
param_set = ps(),
predict_types = "response",
feature_types = character(),
properties = character(),
data_formats = "data.table",
packages = character(),
label = NA_character_,
man = NA_character_
)
id
(character(1)
)
Identifier for the new instance.
param_set
(paradox::ParamSet)
Set of hyperparameters.
predict_types
(character()
)
Supported predict types. Must be a subset of mlr_reflections$learner_predict_types
.
feature_types
(character()
)
Feature types the learner operates on. Must be a subset of mlr_reflections$task_feature_types
.
properties
(character()
)
Set of properties of the Learner.
Must be a subset of mlr_reflections$learner_properties
.
The following properties are currently standardized and understood by learners in mlr3:
"missings"
: The learner can handle missing values in the data.
"weights"
: The learner supports observation weights.
"importance"
: The learner supports extraction of importance scores, i.e. comes with an $importance()
extractor function (see section on optional extractors in Learner).
"selected_features"
: The learner supports extraction of the set of selected features, i.e. comes with a $selected_features()
extractor function (see section on optional extractors in Learner).
"oob_error"
: The learner supports extraction of estimated out of bag error, i.e. comes with a oob_error()
extractor function (see section on optional extractors in Learner).
"validation"
: The learner can use a validation task during training.
"internal_tuning"
: The learner is able to internally optimize hyperparameters (those are also tagged with "internal_tuning"
).
"marshal"
: To save learners with this property, you need to call $marshal()
first.
If a learner is in a marshaled state, you call first need to call $unmarshal()
to use its model, e.g. for prediction.
data_formats
(character()
)
Set of supported data formats which can be processed during $train()
and $predict()
,
e.g. "data.table"
.
packages
(character()
)
Set of required packages.
A warning is signaled by the constructor if at least one of the packages is not installed,
but loaded (not attached) later on-demand via requireNamespace()
.
label
(character(1)
)
Label for the new instance.
man
(character(1)
)
String in the format [pkg]::[topic]
pointing to a manual page for this object.
The referenced help package can be opened via method $help()
.
clone()
The objects of this class are cloneable with this method.
LearnerClassif$clone(deep = FALSE)
deep
Whether to make a deep clone.
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.
Dictionary of Learners: mlr_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
,
LearnerRegr
,
mlr_learners
,
mlr_learners_classif.debug
,
mlr_learners_classif.featureless
,
mlr_learners_classif.rpart
,
mlr_learners_regr.debug
,
mlr_learners_regr.featureless
,
mlr_learners_regr.rpart
# get all classification learners from mlr_learners:
lrns = mlr_learners$mget(mlr_learners$keys("^classif"))
names(lrns)
# get a specific learner from mlr_learners:
lrn = lrn("classif.rpart")
print(lrn)
# train the learner:
task = tsk("penguins")
lrn$train(task, 1:200)
# predict on new observations:
lrn$predict(task, 201:344)$confusion
Run the code above in your browser using DataLab