Skip to main content

entrenar/eval/evaluator/
config.rs

1//! Evaluation configuration
2
3use super::super::classification::Average;
4use super::metric::Metric;
5
6/// Configuration for model evaluation
7#[derive(Clone, Debug)]
8pub struct EvalConfig {
9    /// Metrics to compute
10    pub metrics: Vec<Metric>,
11    /// Number of cross-validation folds (0 = no CV)
12    pub cv_folds: usize,
13    /// Random seed for reproducibility
14    pub seed: u64,
15    /// Parallel evaluation (requires rayon feature)
16    pub parallel: bool,
17    /// Enable tracing (for renacer integration)
18    pub trace_enabled: bool,
19}
20
21impl Default for EvalConfig {
22    fn default() -> Self {
23        Self {
24            metrics: vec![Metric::Accuracy, Metric::F1(Average::Weighted)],
25            cv_folds: 0,
26            seed: 42,
27            parallel: false,
28            trace_enabled: false,
29        }
30    }
31}