entrenar/eval/mod.rs
1//! Model Evaluation Framework (APR-073)
2//!
3//! Comprehensive evaluation module implementing the Model Evaluation Framework Specification.
4//! Provides standardized metrics, model comparison, and drift detection with Jidoka principles.
5//!
6//! ## Architecture
7//!
8//! - `classification`: Multi-class classification metrics, confusion matrix, reports
9//! - `evaluator`: ModelEvaluator for running evaluations and comparisons
10//! - `drift`: Statistical drift detection (KS, Chi-sq, PSI)
11//! - `retrain`: Auto-retraining with Andon pattern
12//!
13//! ## Example
14//!
15//! ```ignore
16//! use entrenar::eval::{ModelEvaluator, EvalConfig, Metric, Average};
17//!
18//! let evaluator = ModelEvaluator::new(EvalConfig {
19//! metrics: vec![Metric::Accuracy, Metric::F1(Average::Weighted)],
20//! cv_folds: 5,
21//! ..Default::default()
22//! });
23//!
24//! let result = evaluator.evaluate(&model, &x_test, &y_test)?;
25//! println!("Accuracy: {:.2}%", result.get_score(Metric::Accuracy) * 100.0);
26//! ```
27
28pub mod classification;
29pub mod drift;
30pub mod evaluator;
31pub mod generative;
32pub mod retrain;
33
34// Re-export basic drift types from monitor for backward compatibility
35pub use crate::monitor::drift::{AnomalySeverity, DriftStatus, SlidingWindowBaseline};
36
37// Re-export advanced drift types
38pub use drift::{DriftCallback, DriftDetector, DriftResult, DriftSummary, DriftTest, Severity};
39
40// Re-export retrain types
41pub use retrain::{
42 Action, AutoRetrainer, RetrainCallback, RetrainConfig, RetrainPolicy, RetrainerStats,
43};
44
45// Re-export main types
46pub use classification::{
47 classification_report, confusion_matrix, Average, ConfusionMatrix, MultiClassMetrics,
48};
49pub use evaluator::{
50 EvalConfig, EvalResult, KFold, Leaderboard, Metric, ModelEvaluator, RougeVariant,
51};
52
53// Re-export generative metric functions
54pub use generative::{
55 bleu_score, ndcg_at_k, pass_at_k, perplexity, real_time_factor_inverse, rouge_l, rouge_n,
56 word_error_rate,
57};