///|
/// Stores all evidence used for one multiclass prediction.
pub struct PredictionObservation {
source_row_index : Int
observed_class : Int
selected_class : Int
selected_score : Double
runner_up_class : Int
runner_up_score : Double
selected_margin : Double
ordered_scores : Array[Double]
prediction_correct : Bool
} derive(Eq, Debug)
///|
/// Summarizes one OvR classifier's scores on positive and negative rows.
pub struct ClassScoreProfile {
profiled_class : Int
positive_observations : Int
negative_observations : Int
positive_score_minimum : Double
positive_score_maximum : Double
positive_score_mean : Double
negative_score_minimum : Double
negative_score_maximum : Double
negative_score_mean : Double
mean_score_separation : Double
} derive(Eq, Debug)
///|
/// Aggregates row-level prediction evidence and class-score separation.
pub struct PredictionAudit {
audited_observations : Array[PredictionObservation]
audited_class_profiles : Array[ClassScoreProfile]
audit_metrics : ClassificationMetrics
correct_prediction_count : Int
incorrect_prediction_count : Int
smallest_winning_margin : Double
largest_winning_margin : Double
average_winning_margin : Double
} derive(Eq, Debug)