Tree Ensemble Learner (Regression)

This Node Is Deprecated — This version of the node has been replaced with a new and improved version. The old version is kept for backwards-compatibility, but for all new workflows we suggest to use the version linked below.
Go to Suggested ReplacementTree Ensemble Learner (Regression)

Learns an ensemble of regression trees (such as random forest* variants). Each of the regression tree models is learned on a different set of rows (records) and/or a different set of columns (describing attributes), whereby the latter can also be a bit-vector descriptor (e.g. molecular fingerprint). The output model describes an ensemble of regression tree models and is applied in the corresponding predictor node using a simply mean of the individual predictions.

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


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

Options

Attribute Selection

Target Column
Select the column containing the value to be learned. Rows with missing values in this column will be ignored during the learning process.
Attribute Selection

Select the attributes to use learn the model. Two variants are possible.

Fingerprint attribute uses the different bit/byte positions in the selected bit/byte vector as learning attributes (for instance a bit vector of length 1024 is expanded to 1024 binary attributes or 1024 long byte vector is expanded to the corresponding number of numeric attributes). All vectors in the selected column must have the same length.

Column attributes are nominal and numeric columns used as descriptors. Numeric columns are split in a <= fashion; nominal columns are currently split by creating child nodes for each of the values.

Ignore columns without domain information
If selected, nominal columns with no domain information are ignored (as they likely have too many possible values anyway).
Enable Hightlighting (#patterns to store)
If selected, the node stores the selected number of rows and allows highlighting them in the node view.

Tree Options

Use mid points splits (only for numeric attributes)
Uses for numerical splits the middle point between two class boundaries. If unselected the split attribute value is the smaller value with "<=" relationship.
Limit number of levels (tree depth)
Number of tree levels to be learned. For instance, a value of 1 would only split the (single) root node (decision stump).
Minimum split node size
Minimum number of records in a decision tree node so that another split is attempted. Note, this option does not make any implications on the minimum number of records in a terminal node. If enabled, this number needs to be at least twice as large as the minimum child node size (as otherwise for binary splits one of the two children would have less records than specified).
Minimum child node size
Minimum number of records in child nodes. It can be at most half of the minimum split node size (see above). Note, this parameter is currently ignored for nominal splits.
Use fixed root attribute
If selected the chosen column will be used as root split attribute in all decision trees -- even if the column is not in the attribute sample (see below).

Ensemble Configuration

Number of models
The number of decision trees to learn. A "reasonable" value can range from very few (say 10) to many thousands for small data sets with few target category values.
Data Sampling (Rows)
The sampling of the data rows for each individual tree: If disabled each tree learner gets the full data set, otherwise each tree is learned with a different data sample. A data fraction of 1 (=100%) chosen "with replacement" is called bootstrapping. For sufficiently large data sets this bootstrap sample contains about 2/3 different data rows from the input, some of which replicated multiple times. Rows which are not used in the training of a tree are called out-of-bag (see below).
Attribute Sampling (Columns)
Defines the sampling of attributes to learn an individual tree. This can either be a function based on the number of attributes (linear fraction or square root) or some absolute value. The latter can be used in conjunction with flow variables to inject some other value derived from the number of attributes (e.g. Breiman suggests to start with the square root of number of attributes but also try to double/half that number).
Attribute Selection

Use same set of attributes for each tree describes that the attributes are sampled once for each tree and this sample is then used to construct the tree.

Use different set of attributes for each tree node samples a different set of candidate attributes in each of the tree nodes from which the optimal one is chosen to perform the split.

Use static random seed
Choose a seed to get reproducible results.

Input Ports

Icon
The data to learn from. It must contain at least one numeric target column and either a fingerprint (bitvector) column or another numeric or nominal column.

Output Ports

Icon
The input data with the out-of-bag response estimates, i.e. for each input row the mean output of all models that did not use the row in the training. If the entire data was used to train the individual models then this output will contain the input data with missing response and response variance values. 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.)
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 will not be 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
An decision tree viewer for all the trained models. Use the spinner to iterate through the different models.

Workflows

  • No workflows found

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.