[−][src]Function gbdt::fitness::average
pub fn average(dv: &DataVec, len: usize) -> ValueType
Return the weighted target average for first n data in data vector.
Example
use gbdt::decision_tree::{DataVec, Data, VALUE_TYPE_UNKNOWN}; use gbdt::fitness::{average, almost_equal}; let mut dv: DataVec = Vec::new(); dv.push(Data { feature: Vec::new(), target: 1.0, weight: 0.1, label: 1.0, residual: 0.5, initial_guess: VALUE_TYPE_UNKNOWN, }); dv.push(Data { feature: Vec::new(), target: 1.0, weight: 0.2, label: 0.0, residual: 0.5, initial_guess: VALUE_TYPE_UNKNOWN, }); dv.push(Data { feature: Vec::new(), target: 0.0, weight: 0.3, label: 1.0, residual: 0.5, initial_guess: VALUE_TYPE_UNKNOWN, }); dv.push(Data { feature: Vec::new(), target: 0.0, weight: 0.4, label: 0.0, residual: 0.5, initial_guess: VALUE_TYPE_UNKNOWN, }); assert!(almost_equal(0.3, average(&dv, dv.len())));
Panic
If the specified length is greater than the length of data vector, it will panic.