pub trait SplitCriterion:
Send
+ Sync
+ 'static {
// Required method
fn evaluate(
&self,
grad_sums: &[f64],
hess_sums: &[f64],
total_grad: f64,
total_hess: f64,
gamma: f64,
lambda: f64,
) -> Option<SplitCandidate>;
}Available on crate feature
alloc only.Expand description
Evaluates split quality from histogram gradient/hessian sums.
Required Methods§
Sourcefn evaluate(
&self,
grad_sums: &[f64],
hess_sums: &[f64],
total_grad: f64,
total_hess: f64,
gamma: f64,
lambda: f64,
) -> Option<SplitCandidate>
fn evaluate( &self, grad_sums: &[f64], hess_sums: &[f64], total_grad: f64, total_hess: f64, gamma: f64, lambda: f64, ) -> Option<SplitCandidate>
Evaluate all possible split points across histogram bins.
Returns the best split candidate, or None if no valid split exists.
§Arguments
grad_sums- gradient sums per binhess_sums- hessian sums per bintotal_grad- total gradient across all binstotal_hess- total hessian across all binsgamma- minimum split gain thresholdlambda- L2 regularization on leaf weights