MCPcopy Create free account
hub / github.com/Open-Quant/openquant / expand_grid_recursive

Function expand_grid_recursive

crates/openquant/src/hyperparameter_tuning.rs:206–225  ·  view source on GitHub ↗
(
    keys: &[String],
    idx: usize,
    grid: &BTreeMap<String, Vec<HyperParamValue>>,
    current: &mut ParamSet,
    out: &mut Vec<ParamSet>,
)

Source from the content-addressed store, hash-verified

204 }
205
206 if sum_w <= 0.0 {
207 return Err(TuningError::ZeroSampleWeightSum);
208 }
209
210 let accuracy = weighted_correct / sum_w;
211 let neg_log_loss = -(weighted_loss / sum_w);
212
213 match scoring {
214 SearchScoring::Accuracy => Ok(accuracy),
215 SearchScoring::NegLogLoss => Ok(neg_log_loss),
216 SearchScoring::BalancedAccuracy => {
217 // Handle single-class folds by averaging recall over classes present in the fold.
218 let mut recalls = Vec::new();
219 if pos_total > 0.0 {
220 recalls.push(pos_correct / pos_total);
221 }
222 if neg_total > 0.0 {
223 recalls.push(neg_correct / neg_total);
224 }
225 if recalls.is_empty() {
226 return Err(TuningError::NoLabeledSamples);
227 }
228 Ok(recalls.iter().sum::<f64>() / recalls.len() as f64)

Callers 1

expand_param_gridFunction · 0.85

Calls 1

lenMethod · 0.80

Tested by

no test coverage detected