[source]

Random Forest#

An ensemble classifier that trains an ensemble of Decision Trees (Classification Trees or Extra Trees) on random subsets (bootstrap set) of the training data. Predictions are based on the probability scores returned from each tree in the forest, averaged and weighted equally.

Note: The default base tree learner is a fully grown Classification Tree.

Interfaces: Estimator, Learner, Probabilistic, Parallel, Ranks Features, Persistable

Data Type Compatibility: Categorical, Continuous

Parameters#

# Param Default Type Description
1 base ClassificationTree Learner The base learner.
2 estimators 100 int The number of learners to train in the ensemble.
3 ratio 0.2 float The ratio of samples from the training set to randomly subsample to train each base learner.
4 balanced false bool Should we sample the bootstrap set to compensate for imbalanced class labels?

Additional Methods#

This estimator does not have any additional methods.

Example#

use Rubix\ML\Classifiers\RandomForest;
use Rubix\ML\Classifiers\ClassificationTree;

$estimator = new RandomForest(new ClassificationTree(10), 300, 0.1, true);

References#

  • L. Breiman. (2001). Random Forests.
  • L. Breiman et al. (2005). Extremely Randomized Trees.