Random Forest Learner (Regression)

Learns a random forest* (an ensemble of decision trees) for regression. Each of the decision tree models is built with a different set of rows (records) and for each split within a tree a randomly chosen set of columns (describing attributes) is used. The row sets for each decision tree are created by bootstrapping and have the same size as the original input table. The attribute set for an individual split in a decision tree is determined by randomly selecting sqrt(m) attributes from the available attributes where m is the total number of learning columns. The attributes can also be provided as bit (fingerprint), byte, or double vector. The output model describes an ensemble of regression tree models and is applied in the corresponding predictor node.

In a regression tree the predicted value for a leaf node is the mean target value of the records within the leaf. Hence the predictions are best (with respect to the training data) if the variance of target values within a leaf is minimal. This is achieved by splits that minimize the sum of squared errors in their respective children.

For a more general description and suggested default parameters see the node description of the classification Random Forest Learner node.

This node provides a subset of the functionality of the Tree Ensemble Learner (Regression). If you need additional functionality, please check out the Tree Ensemble Learner (Regression)


(*) RANDOM FORESTS is a registered trademark of Minitab, LLC and is used with Minitab’s permission.

Options

Target column
Select the column containing the value to be learned. Rows with missing values in this column are ignored during the learning process.
Training attributes
Choose whether to derive attributes from a fingerprint vector column or from ordinary table columns.
  • Use column: Select ordinary columns and configure include/exclude rules for training attributes.
  • Use fingerprint: Expand a fingerprint (bit, byte, or double vector) column into individual attributes during training.
Fingerprint attribute
Use a fingerprint (bit, byte, or double vector) column to learn the model. Each entry of the vector is treated as a separate attribute. All vectors must share the same length.
Attribute selection
Limit number of levels (tree depth)
Limit the maximal number of tree levels. When disabled the tree depth is unbounded. For instance, a value of 1 would only split the (single) root node resulting in a decision stump
Minimum child node size
Minimum number of records allowed in the child nodes after a split. Must not exceed half the minimum split node size. Note, this parameter is currently ignored for nominal columns if binary nominal splits are disabled.
Number of models
Number of decision trees to learn. Larger ensembles generally provide more stable results but increase runtime. For most datasets, a value between 100 and 500 yields good results; however, the optimal number is data dependent and should thus be subject to hyperparameter tuning.
Use static random seed
Provide a seed to obtain deterministic results. Leave disabled to use a time-dependent seed.
Generate new seed
Generate a random seed and apply it to the field above for reproducible runs.
Enable highlighting
If selected, the node stores the configured number of rows and allows highlighting them in the node view.

Input Ports

Icon
The data to learn from. They must contain at least one numeric target column and either a fingerprint (bit-vector/byte-vector) column or another numeric or nominal column.

Output Ports

Icon
The input data with the out-of-bag predictions, i.e. for each input row the mean and variance of outputs of all models that did not use the row for training. The appended columns are equivalent to the columns appended by the corresponding predictor node. There is one additional column model count, which contains the number of models used for the voting (number of models not using the row throughout the learning.) The out-of-bag predictions can be used to get an estimate of the generalization ability of the random forest by feeding them into the Numeric Scorer node.
Icon
A statistics table on the attributes used in the different tree learners. Each row represents one training attribute with these statistics: #splits (level x) as the number of models, which use the attribute as split on level x (with level 0 as root split); #candidates (level x) is the number of times an attribute was in the attribute sample for level x (in a random forest setup these samples differ from node to node). If no attribute sampling is used #candidates is the number of models. Note, these numbers are uncorrected, i.e. if an attribute is selected on level 0 but is also in the candidate set of level 1 (but is not split on level 1 because it has been split one level up), the #candidate number will still count the attribute as candidate.
Icon
The trained model.

Views

Tree Views
A decision tree viewer for all the trained models. Use the spinner to iterate through the different models.

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.