Skip to contents

Random Planted Forest: A directly interpretable tree ensemble.

Calls randomPlantedForest::rpf() from 'randomPlantedForest'.

Initial parameter values

  • loss:

    • Actual default: "L2".

    • Initial value: "exponential".

    • Reason for change: Using "L2" (or "L1") loss does not guarantee predictions are valid probabilities and more akin to the linear predictor of a GLM.

Custom mlr3 parameters

  • max_interaction:

    • This hyperparameter can alternatively be set via max_interaction_ratio as max_interaction = max(ceiling(max_interaction_ratio * n_features), 1). The parameter max_interaction_limit can optionally be set as an upper bound, such that max_interaction_ratio * min(n_features, max_interaction_limit) is used instead. This is analogous to mtry.ratio in classif.ranger, with max_interaction_limit as an additional constraint. The parameter max_interaction_limit is initialized to Inf.

Dictionary

This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn():

mlr_learners$get("classif.rpf")
lrn("classif.rpf")

Meta Information

  • Task type: “classif”

  • Predict Types: “response”, “prob”

  • Feature Types: “logical”, “integer”, “numeric”, “factor”, “ordered”

  • Required Packages: mlr3, randomPlantedForest

Parameters

IdTypeDefaultLevelsRange
max_interactioninteger1\([0, \infty)\)
max_interaction_rationumeric-\([0, 1]\)
max_interaction_limitinteger-\([1, \infty)\)
ntreesinteger50\([1, \infty)\)
splitsinteger30\([1, \infty)\)
split_tryinteger10\([1, \infty)\)
t_trynumeric0.4\([0, 1]\)
losscharacterL2L1, L2, logit, exponential-
deltanumeric1\([0, 1]\)
epsilonnumeric0.1\([0, 1]\)
deterministiclogicalFALSETRUE, FALSE-
nthreadsinteger1\([1, \infty)\)
cvlogicalFALSETRUE, FALSE-
purifylogicalFALSETRUE, FALSE-

Installation

Package 'randomPlantedForest' is not on CRAN and has to be installed from GitHub via remotes::install_github("PlantedML/randomPlantedForest").

References

Hiabu, Munir, Mammen, Enno, Meyer, T. J (2023). “Random Planted Forest: a directly interpretable tree ensemble.” arXiv preprint arXiv:2012.14563. doi:10.48550/ARXIV.2012.14563 .

See also

Author

jemus42

Super classes

mlr3::Learner -> mlr3::LearnerClassif -> LearnerClassifRandomPlantedForest

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerClassifRandomPlantedForest$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

learner = mlr3::lrn("classif.rpf")
print(learner)
#> <LearnerClassifRandomPlantedForest:classif.rpf>: Random Planted Forest
#> * Model: -
#> * Parameters: loss=exponential, max_interaction_limit=Inf
#> * Packages: mlr3, randomPlantedForest
#> * Predict Types:  [response], prob
#> * Feature Types: logical, integer, numeric, factor, ordered
#> * Properties: multiclass, twoclass

# available parameters:
learner$param_set$ids()
#>  [1] "max_interaction"       "max_interaction_ratio" "max_interaction_limit"
#>  [4] "ntrees"                "splits"                "split_try"            
#>  [7] "t_try"                 "loss"                  "delta"                
#> [10] "epsilon"               "deterministic"         "nthreads"             
#> [13] "cv"                    "purify"