Skip to contents

Random Planted Forest: A directly interpretable tree ensemble.

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

Dictionary

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

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

Meta Information

  • Task type: “regr”

  • Predict Types: “response”

  • 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]\)
deterministiclogicalFALSETRUE, FALSE-
nthreadsinteger1\([1, \infty)\)
cvlogicalFALSETRUE, FALSE-
purifylogicalFALSETRUE, FALSE-

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.

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::LearnerRegr -> LearnerRegrRandomPlantedForest

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

LearnerRegrRandomPlantedForest$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

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

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