use crate::model::Model;
use crate::objective::Objective;
pub fn predict_raw_scores(
model: &Model,
features: &[f64],
n_rows: usize,
n_features: usize,
) -> Vec<f64> {
assert_eq!(
n_features,
model.n_features(),
"n_features {} does not match model.n_features() {}",
n_features,
model.n_features()
);
model.predict_raw_scores(features, n_rows)
}
pub fn predict_proba(
model: &Model,
features: &[f64],
n_rows: usize,
n_features: usize,
) -> Vec<f64> {
assert_eq!(
n_features,
model.n_features(),
"n_features {} does not match model.n_features() {}",
n_features,
model.n_features()
);
model.predict_proba(features, n_rows)
}
pub fn convert_with(obj: &dyn Objective, raw: &mut [f64]) {
let raw_copy = raw.to_vec();
obj.convert_output(&raw_copy, raw);
}