Random Forest#

Random Forest (RF) is a 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 ensemble, averaged and weighted equally. In addition to reliable predictions, Random Forest also returns reliable feature importance scores making it suitable for feature selection.

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


# 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?


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

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

Additional Methods#

This estimator does not have any additional methods.


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