Get desktop application:
View/edit binary Protocol Buffers messages
When we have a sequence of trees 1, 2, 3 ... n, these essentially represent weights updates in functional space, and thus we can use averaging of weight updates to achieve better performance. For example, we can say that our final ensemble will be an average of ensembles of tree 1, and ensemble of tree 1 and tree 2 etc .. ensemble of all trees. Note that this averaging will apply ONLY DURING PREDICTION. The training stays the same.
Used in:
Between 0 and 1. If set to 1.0, we are averaging ensembles of tree 1, ensemble of tree 1 and tree 2, etc ensemble of all trees. If set to 0.5, last half of the trees are averaged etc.
Number of classes.
Fraction of features to consider in each tree sampled randomly from all available features.
Regularization.
Constraints.
Pruning. POST_PRUNE is the default pruning mode.
Growing Mode. LAYER_BY_LAYER is the default growing mode.
Learning rate. By default we use fixed learning rate of 0.1.
Multi-class strategy. By default we use TREE_PER_CLASS for binary classification and linear regression. For other cases, we use DIAGONAL_HESSIAN as the default.
If you want to average the ensembles (for regularization), provide the config below.
By default we use NORMAL_DECISION_TREE as weak learner.
If you want to enforce some splits and allow boosting to figure out the rest, you can provide a tree that represents the starting splits for each tree in the ensemble. Set both each_tree_start and each_tree_start_num_layers.
Used in:
Used in:
Used in:
Used in:
LearningRateConfig describes all supported learning rate tuners.
Used in:
Used in:
Probability of dropping each tree in an existing so far ensemble.
When trees are built after dropout happen, they don't "advance" to the optimal solution, they just rearrange the path. However you can still choose to skip dropout periodically, to allow a new tree that "advances" to be added. For example, if running for 200 steps with probability of dropout 1/100, you would expect the dropout to start happening for sure for all iterations after 100. However you can add probability_of_skipping_dropout of 0.1, this way iterations 100-200 will include approx 90 iterations of dropout and 10 iterations of normal steps.Set it to 0 if you want just keep building the refinement trees after dropout kicks in.
Between 0 and 1.
Config for a fixed learning rate.
Used in:
Config for a tuned learning rate.
Used in:
Max learning rate. Must be strictly positive.
Number of learning rate values to consider between [0, max_learning_rate).
For each child, children_parent_id stores the node_id of its parent when it was a leaf. For the idx-th child it corresponds the idx/2-th children_parent_id.
Gathered information for a split node.
The split node without the child nodes attached.
Left Leaf node.
Right Leaf node.
Tree constraints config.
Used in:
Maximum depth of the trees. The default value is 6 if not specified.
Min hessian weight per node.
Maximum number of unique features used in the tree. Zero means there is no limit.
Tree regularization config.
Used in:
Classic L1/L2.
Tree complexity penalizes overall model complexity effectively limiting how deep the tree can grow in regions with small gain.