LINADForestHyperparameters
VariantBagged ensemble of Linear Additive Trees. See `setup_LINADForest`.
Properties
n_treesinteger | object≥ 1Number of trees in the forest.
mtry_splitinteger | object | null≥ 1Features sampled at each split search. NULL scans every feature the tree holds. Cannot exceed the number of features in the training data.
mtry_treeinteger | object | null≥ 1Features available to a whole tree, splits and node models alike. NULL gives every tree every feature. Cannot exceed the number of features in the training data.
max_leavesinteger | object≥ 1Largest number of terminal nodes to grow. Plays the role the number of trees plays in gradient boosting.
patienceinteger | object | null≥ 1Expansions without validation improvement before growth stops, as gradient boosting stops on rounds. Needs a validation set; without one the tree grows to max_leaves. Stopping only bounds growth -- the size is still the one that minimizes validation loss over the curve reached. Defaults to growing to max_leaves.
force_max_leavesbooleanKeep every leaf grown instead of selecting a tree size on the validation set.
smooth_validation_curveboolean | nullSmooth the validation curve before reading its minimum. Steadier when the validation set is small. Applies only when force_max_leaves is FALSE.
min_cases_splitinteger | object≥ 2Fewest cases a node may hold and still be considered for splitting.
min_cases_leafinteger | object≥ 1Fewest cases a split must leave on each side.
min_cases_node_modelinteger | object | null≥ 1Fewest cases needed to fit a linear model at a node. Below it the node inherits its parent unchanged. Applies only when node_model is forward, ridge or elasticnet.
node_modelstringModel fitted at each node. constant is the intercept-only model every decision tree node carries; the others add a linear model on top of it, regularized by lambda.
one of
"forward""ridge""elasticnet""constant"nvmaxinteger | object | null≥ 1Most terms forward selection may add beside the intercept. A ceiling: the search stops earlier when forward_stop says a term does not pay for itself. Capped at the width of the design. Defaults to 3 where it applies. Applies only when node_model is forward.
forward_stopstring | object | nullCost a term must earn to be added: the Bayesian or Akaike criterion, or none to always add nvmax terms. Shrinkage alone cannot stop the search, since every added term reduces the residual sum of squares. Defaults to bic where it applies. Applies only when node_model is forward.
one of
"bic""aic""none"lambdanumber | object | null≥ 0L2 penalty on the node models, on a standardized design so one value means the same at every node. Under forward selection it penalizes the fit and the search alike, so a feature that only looks good unpenalized does not win. Defaults to 0.05 where it applies. Applies only when node_model is forward, ridge or elasticnet.
alphanumber | object | null≥ 0≤ 1Elastic-net mixing: 0 is ridge, 1 is lasso. Applies only when node_model is elasticnet.
learning_ratenumber | object≤ 1> 0Shrinkage applied to every functional update.
root_modelstring | nullModel fitted at the root. NULL uses node_model.
one of
"forward""ridge""elasticnet""constant"nullroot_nvmaxinteger | object | null≥ 1nvmax for the root model. NULL uses nvmax. Ignored unless the root model is forward selection.
root_lambdanumber | object | null≥ 0lambda for the root model. NULL uses lambda. Ignored unless the root model is penalized.
root_alphanumber | object | null≥ 0≤ 1alpha for the root model. NULL uses alpha. Ignored unless the root model is an elastic net.
root_learning_ratenumber | object≥ 0≤ 1Shrinkage applied to the root model's slopes. 0 fits no root model, so the first step is a split; 1 fits it in full.
node_teststring | object | nullCost a node's slopes must earn over the constant alone, so that a node carries coefficients only where the data supports them and a plain constant otherwise. The constant is nested in the linear model, so on the node's own cases the slopes always fit better and no comparison is possible without a cost; aic charges 2 per nonzero slope and bic log(n). Forward selection has the same criterion per term in forward_stop, which subsumes this one, so this is the shrinking models' equivalent. Defaults to none where it applies. Applies only when node_model is ridge or elasticnet.
one of
"none""aic""bic"split_criterionstring | object | nullWhat the stump search scores a candidate side by: the level its fit explains, or its level and its slope in the split variable. linear finds a change of slope in the split variable, such as a parabola's vertex, which a level criterion cannot see; it can also chase the slope of the wrong variable where the change belongs to another. Defaults to mean where it applies. Applies only when split_search is stump.
one of
"mean""linear"split_searchstringHow a split is chosen. stump takes the best squared-error split of the gradient; exhaustive scores each candidate by the loss after fitting both child models.
one of
"stump""exhaustive"split_binninginteger | object | null≥ 2Discretize each numeric feature into this many equal-frequency bins and consider only bin boundaries as splits. Applies to both split searches. NULL considers every distinct value.
split_bin_typestring | objectHow split_binning places bin edges: frequency spaces them evenly through the cases, width evenly through the feature's range.
one of
"frequency""width"n_cutsinteger | object | null≥ 2Number of cut points tried per feature by the exhaustive search. split_bin_type decides how they are spaced. Applies only when split_search is exhaustive.
split_featuresarray | null≥ 1 itemsFeatures that may define a split. NULL imposes no constraint, so every feature may. Independent of the linear roles: a feature can split without entering any node model, or the reverse. Values must name training features.
linear_featuresarray | null≥ 1 itemsFeatures that get a slope in the node models. NULL imposes no constraint, so every feature does. A tree with no slopes at all is node_model = constant. Values must name training features.
global_featuresarray | null≥ 1 itemsLinear features whose slope is shared by every leaf: the root estimates it and no node below may change it. Must be a subset of linear_features where that is set. NULL imposes no constraint, so no coefficient is pinned and every linear feature may adapt. Values must name training features.
gammanumber | object≥ 0≤ 1Weight retained by a case in the branch it does not belong to. 0 is a hard partition; larger values share influence and reduce variance.
line_searchstring | objectScope of the Newton step for each update: one per expansion, one per child, or none.
one of
"expansion""child""none"line_search_maxnumber> 0Largest absolute step the line search may take.
constant_rulestring | objectRule for a node's constant: the manuscript's closed forms, or the weighted mean of the residual. Identical for regression; they differ only for classification.
one of
"closed_form""least_squares"ifwboolean | objectInverse Frequency Weighting in classification.
Relationships
Used by