ObjectiveFunction

Trait ObjectiveFunction 

Source
pub trait ObjectiveFunction {
    // Required methods
    fn calc_loss(y: &[f64], yhat: &[f64], sample_weight: &[f64]) -> Vec<f32>;
    fn calc_grad_hess(
        y: &[f64],
        yhat: &[f64],
        sample_weight: &[f64],
    ) -> (Vec<f32>, Vec<f32>);
    fn calc_init(y: &[f64], sample_weight: &[f64]) -> f64;
    fn default_metric() -> Metric;
}

Required Methods§

Source

fn calc_loss(y: &[f64], yhat: &[f64], sample_weight: &[f64]) -> Vec<f32>

Source

fn calc_grad_hess( y: &[f64], yhat: &[f64], sample_weight: &[f64], ) -> (Vec<f32>, Vec<f32>)

Source

fn calc_init(y: &[f64], sample_weight: &[f64]) -> f64

Source

fn default_metric() -> Metric

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§