sklears_model_selection/epistemic_uncertainty/
uncertainty_results.rs

1use super::uncertainty_types::*;
2use scirs2_core::ndarray::{Array1, Array2};
3use std::collections::HashMap;
4
5#[derive(Debug, Clone)]
6pub struct EpistemicUncertaintyResult {
7    pub predictions: Array1<f64>,
8    pub uncertainties: Array1<f64>,
9    pub prediction_intervals: Array2<f64>,
10    pub calibration_score: f64,
11    pub entropy: Array1<f64>,
12    pub mutual_information: f64,
13    pub epistemic_uncertainty_components: UncertaintyComponents,
14    pub reliability_metrics: ReliabilityMetrics,
15}
16
17#[derive(Debug, Clone)]
18pub struct AleatoricUncertaintyResult {
19    pub predictions: Array1<f64>,
20    pub uncertainties: Array1<f64>,
21    pub prediction_intervals: Array2<f64>,
22    pub noise_estimates: Array1<f64>,
23    pub variance_estimates: Array1<f64>,
24    pub heteroskedastic_weights: Array1<f64>,
25    pub distributional_parameters: HashMap<String, Array1<f64>>,
26    pub reliability_metrics: ReliabilityMetrics,
27}
28
29#[derive(Debug, Clone)]
30pub struct UncertaintyQuantificationResult {
31    pub predictions: Array1<f64>,
32    pub total_uncertainty: Array1<f64>,
33    pub epistemic_uncertainty: Array1<f64>,
34    pub aleatoric_uncertainty: Array1<f64>,
35    pub prediction_intervals: Array2<f64>,
36    pub uncertainty_decomposition: UncertaintyDecomposition,
37    pub calibration_score: f64,
38    pub reliability_metrics: ReliabilityMetrics,
39    pub epistemic_result: EpistemicUncertaintyResult,
40    pub aleatoric_result: AleatoricUncertaintyResult,
41}