Extra Tree Classifier#
An Extremely Randomized Classification Tree that recursively chooses node splits with the least entropy among a set of k (given by max features) random split points. Extra Trees are useful in ensembles such as Random Forest or AdaBoost as the weak learner or they can be used on their own. The strength of Extra Trees as compared to standard decision trees are their computational efficiency and lower prediction variance.
Interfaces: Estimator, Learner, Probabilistic, Ranks Features, Persistable
Data Type Compatibility: Categorical, Continuous
Parameters#
# | Name | Default | Type | Description |
---|---|---|---|---|
1 | maxHeight | PHP_INT_MAX | int | The maximum height of the tree. |
2 | maxLeafSize | 3 | int | The max number of samples that a leaf node can contain. |
3 | maxFeatures | Auto | int | The max number of feature columns to consider when determining a best split. |
4 | minPurityIncrease | 1e-7 | float | The minimum increase in purity necessary for a node not to be post pruned during tree growth. |
Example#
use Rubix\ML\Classifiers\ExtraTreeClassifier;
$estimator = new ExtraTreeClassifier(50, 3, 4, 1e-7);
Additional Methods#
Return a human-readable text representation of the decision tree ruleset:
public rules(?array $header = null) : string
echo $estimator->rules(['age', 'height', 'income']);
├─── age < 70
├───├─── income < 260734.0
├───├───├─── income < 80207.0
├───├───├───├─── height < 182.0
├───├───├───├───├─── Best (outcome=high school impurity=0.19546677755182 n=9)
├───├───├───├─── height >= 182.0
├───├───├───├───├─── Best (outcome=bachelors impurity=-0 n=67)
├───├───├─── income >= 80207.0
├───├───├───├─── Best (outcome=masters impurity=-0 n=77)
├───├─── income >= 260.73460601
├───├───├─── Best (outcome=doctorate impurity=-0 n=49)
├─── age >= 70
├───├─── Best (outcome=high school impurity=-0 n=98)
Return the height of the tree i.e. the number of layers:
public height() : int
Return the balance factor of the tree:
public balance() : int
References#
-
P. Geurts et al. (2005). Extremely Randomized Trees. ↩