SGT Classifier
Stochastic Gradient Tree1 for binary classification.
Binary decision tree classifier that minimizes the binary cross-entropy to guide its growth.
Stochastic Gradient Trees (SGT) directly minimize a loss function to guide tree growth and update their predictions. Thus, they differ from other incrementally tree learners that do not directly optimize the loss, but data impurity-related heuristics.
Parameters
-
delta(
float
, Default:1e-07
) → Define the significance level of the F-tests performed to decide upon creating splits or updating predictions. -
grace_period(
int
, Default:200
) → Interval between split attempts or prediction updates. -
lambda_(
float
, Default:0.1
) → Positive float value used to impose a penalty over the tree's predictions and force them to become smaller. The greater the lambda value, the more constrained are the predictions. -
gamma(
float
, Default:1.0
) → Positive float value used to impose a penalty over the tree's splits and force them to be avoided when possible. The greater the gamma value, the smaller the chance of a split occurring.
Example Usage
We can create an instance of the SGT Classifier model like this.
import turboml as tb
sgt_model = tb.SGTClassifier()
Footnotes
-
Gouk, H., Pfahringer, B., & Frank, E. (2019, October). Stochastic Gradient Trees. In Asian Conference on Machine Learning (pp. 1094-1109). ↩