Expand description
Multi-run evaluation for statistical robustness.
Running evaluations multiple times with different random seeds or data shuffles provides confidence intervals and detects instability.
§Research Context
Reporting mean ± standard deviation across multiple runs is a best practice from ML research. The Sommerschield (2023) survey on ancient languages notes that single-run results can be misleading due to:
- Random initialization effects
- Data ordering sensitivity
- Stochastic dropout/sampling
This module provides tools to run evaluations N times and aggregate results with proper statistical reporting.
§Example
ⓘ
use anno_eval::eval::{MultiRunConfig, MultiRunEvaluator, MetricWithVariance};
let config = MultiRunConfig::new()
.with_runs(5)
.with_shuffle(true);
let evaluator = MultiRunEvaluator::new(config);
let results = evaluator.evaluate(&model, &test_cases)?;
println!("F1: {} (n={})", results.f1, results.f1.n);
// F1: 85.2% ± 1.3% (n=5)Structs§
- Model
Comparison - Result of comparing two models.
- Multi
RunConfig - Configuration for multi-run evaluation.
- Multi
RunEvaluator - Multi-run evaluator for NER models.
- Multi
RunResults - Results from multi-run evaluation.
Functions§
- compare_
models_ multi_ run - Compare two models across multiple runs with statistical significance.