Random classification forest.
Calls ranger::ranger()
from package ranger.
Custom mlr3 defaults
num.threads
:Actual default:
NULL
, triggering auto-detection of the number of CPUs.Adjusted value: 1.
Reason for change: Conflicting with parallelization via future.
mtry
:This hyperparameter can alternatively be set via our hyperparameter
mtry.ratio
asmtry = max(ceiling(mtry.ratio * n_features), 1)
. Note thatmtry
andmtry.ratio
are mutually exclusive.
Dictionary
This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn()
:
$get("classif.ranger")
mlr_learnerslrn("classif.ranger")
Meta Information
, * Task type: “classif”, * Predict Types: “response”, “prob”, * Feature Types: “logical”, “integer”, “numeric”, “character”, “factor”, “ordered”, * Required Packages: mlr3, mlr3learners, ranger
Parameters
, |Id |Type |Default |Levels |Range |, |:----------------------------|:---------|:-------|:-----------------------------------------------|:------------------------------------|, |alpha |numeric |0.5 | |\((-\infty, \infty)\) |, |always.split.variables |untyped |- | |- |, |class.weights |untyped | | |- |, |holdout |logical |FALSE |TRUE, FALSE |- |, |importance |character |- |none, impurity, impurity_corrected, permutation |- |, |keep.inbag |logical |FALSE |TRUE, FALSE |- |, |max.depth |integer |NULL | |\([0, \infty)\) |, |min.node.size |integer |NULL | |\([1, \infty)\) |, |min.prop |numeric |0.1 | |\((-\infty, \infty)\) |, |minprop |numeric |0.1 | |\((-\infty, \infty)\) |, |mtry |integer |- | |\([1, \infty)\) |, |mtry.ratio |numeric |- | |\([0, 1]\) |, |num.random.splits |integer |1 | |\([1, \infty)\) |, |num.threads |integer |1 | |\([1, \infty)\) |, |num.trees |integer |500 | |\([1, \infty)\) |, |oob.error |logical |TRUE |TRUE, FALSE |- |, |regularization.factor |untyped |1 | |- |, |regularization.usedepth |logical |FALSE |TRUE, FALSE |- |, |replace |logical |TRUE |TRUE, FALSE |- |, |respect.unordered.factors |character |ignore |ignore, order, partition |- |, |sample.fraction |numeric |- | |\([0, 1]\) |, |save.memory |logical |FALSE |TRUE, FALSE |- |, |scale.permutation.importance |logical |FALSE |TRUE, FALSE |- |, |se.method |character |infjack |jack, infjack |- |, |seed |integer |NULL | |\((-\infty, \infty)\) |, |split.select.weights |untyped | | |- |, |splitrule |character |gini |gini, extratrees, hellinger |- |, |verbose |logical |TRUE |TRUE, FALSE |- |, |write.forest |logical |TRUE |TRUE, FALSE |- |
References
Wright, N. M, Ziegler, Andreas (2017). “ranger: A Fast Implementation of Random Forests for High Dimensional Data in C++ and R.” Journal of Statistical Software, 77(1), 1--17. doi:10.18637/jss.v077.i01 .
Breiman, Leo (2001). “Random Forests.” Machine Learning, 45(1), 5--32. ISSN 1573-0565, doi:10.1023/A:1010933404324 .
See also
Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#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.
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:
mlr_learners_classif.cv_glmnet
,
mlr_learners_classif.glmnet
,
mlr_learners_classif.kknn
,
mlr_learners_classif.lda
,
mlr_learners_classif.log_reg
,
mlr_learners_classif.multinom
,
mlr_learners_classif.naive_bayes
,
mlr_learners_classif.nnet
,
mlr_learners_classif.qda
,
mlr_learners_classif.svm
,
mlr_learners_classif.xgboost
,
mlr_learners_regr.cv_glmnet
,
mlr_learners_regr.glmnet
,
mlr_learners_regr.kknn
,
mlr_learners_regr.km
,
mlr_learners_regr.lm
,
mlr_learners_regr.nnet
,
mlr_learners_regr.ranger
,
mlr_learners_regr.svm
,
mlr_learners_regr.xgboost
Super classes
mlr3::Learner
-> mlr3::LearnerClassif
-> LearnerClassifRanger
Methods
Method importance()
The importance scores are extracted from the model slot variable.importance
.
Parameter importance.mode
must be set to "impurity"
, "impurity_corrected"
, or
"permutation"
Returns
Named numeric()
.
Examples
if (requireNamespace("ranger", quietly = TRUE)) {
learner = mlr3::lrn("classif.ranger")
print(learner)
# available parameters:
learner$param_set$ids()
}
#> <LearnerClassifRanger:classif.ranger>
#> * Model: -
#> * Parameters: num.threads=1
#> * Packages: mlr3, mlr3learners, ranger
#> * Predict Type: response
#> * Feature types: logical, integer, numeric, character, factor, ordered
#> * Properties: hotstart_backward, importance, multiclass, oob_error,
#> twoclass, weights
#> [1] "alpha" "always.split.variables"
#> [3] "class.weights" "holdout"
#> [5] "importance" "keep.inbag"
#> [7] "max.depth" "min.node.size"
#> [9] "min.prop" "minprop"
#> [11] "mtry" "mtry.ratio"
#> [13] "num.random.splits" "num.threads"
#> [15] "num.trees" "oob.error"
#> [17] "regularization.factor" "regularization.usedepth"
#> [19] "replace" "respect.unordered.factors"
#> [21] "sample.fraction" "save.memory"
#> [23] "scale.permutation.importance" "se.method"
#> [25] "seed" "split.select.weights"
#> [27] "splitrule" "verbose"
#> [29] "write.forest"