Skip to main content

tensorlogic_train/metrics/
mod.rs

1//! Metrics for evaluating model performance.
2
3use crate::TrainResult;
4use scirs2_core::ndarray::{ArrayView, Ix2};
5
6/// Trait for metrics.
7pub trait Metric {
8    /// Compute metric value.
9    fn compute(
10        &self,
11        predictions: &ArrayView<f64, Ix2>,
12        targets: &ArrayView<f64, Ix2>,
13    ) -> TrainResult<f64>;
14
15    /// Get metric name.
16    fn name(&self) -> &str;
17
18    /// Reset metric state (for stateful metrics).
19    fn reset(&mut self) {}
20}
21
22// Module declarations
23mod advanced;
24mod basic;
25mod calibration;
26mod ranking;
27mod tracker;
28mod vision;
29
30// Re-exports - Basic metrics
31pub use basic::{Accuracy, F1Score, Precision, Recall};
32
33// Re-exports - Advanced metrics
34pub use advanced::{
35    BalancedAccuracy, CohensKappa, ConfusionMatrix, MatthewsCorrelationCoefficient,
36    PerClassMetrics, RocCurve,
37};
38
39// Re-exports - Ranking metrics
40pub use ranking::{NormalizedDiscountedCumulativeGain, TopKAccuracy};
41
42// Re-exports - Vision metrics
43pub use vision::{DiceCoefficient, IoU, MeanAveragePrecision, MeanIoU};
44
45// Re-exports - Calibration metrics
46pub use calibration::{ExpectedCalibrationError, MaximumCalibrationError};
47
48// Re-exports - Tracker
49pub use tracker::MetricTracker;