#![allow(clippy::too_many_arguments)]
#![allow(dead_code)]
use scirs2_core::numeric::Float;
use std::collections::HashMap;
#[derive(Debug, Clone)]
pub struct InceptionScoreResult<F: Float> {
pub mean_score: F,
pub std_score: F,
pub split_scores: Vec<F>,
}
#[derive(Debug, Clone)]
pub struct KIDResult<F: Float> {
pub kid_estimate: F,
pub kid_corrected: F,
pub bias_correction: F,
pub n_samples_real: usize,
pub n_samples_fake: usize,
}
#[derive(Debug, Clone)]
pub struct InfoNCEResult<F: Float> {
pub loss: F,
pub accuracy: F,
pub n_pairs: usize,
pub temperature: F,
}
#[derive(Debug, Clone)]
pub struct LinearProbingResult<F: Float> {
pub overall_accuracy: F,
pub balanced_accuracy: F,
pub per_class_accuracies: Vec<F>,
pub n_classes: usize,
pub n_test_samples: usize,
}
#[derive(Debug, Clone)]
pub struct RepresentationRankResult<F: Float> {
pub effective_rank: usize,
pub participation_ratio: F,
pub eigenvalues: Vec<F>,
pub total_variance: F,
pub explained_variance_ratio: F,
}
#[derive(Debug, Clone)]
pub struct ClusteringResult<F: Float> {
pub normalized_mutual_information: F,
pub adjusted_rand_index: F,
pub silhouette_score: F,
pub cluster_assignments: Vec<usize>,
pub n_clusters: usize,
}
#[derive(Debug, Clone)]
pub struct FewShotResult<F: Float> {
pub overall_accuracy: F,
pub balanced_accuracy: F,
pub per_class_accuracies: Vec<F>,
pub n_shot: usize,
pub n_classes: usize,
pub n_query_samples: usize,
}
#[derive(Debug, Clone)]
pub struct CrossModalRetrievalResult<F: Float> {
pub recall_at_k: HashMap<usize, F>,
pub precision_at_k: HashMap<usize, F>,
pub mean_reciprocal_rank: F,
pub n_queries: usize,
pub n_candidates: usize,
}
#[derive(Debug, Clone)]
pub struct MultimodalAlignmentResult<F: Float> {
pub mean_positive_similarity: F,
pub mean_negative_similarity: F,
pub alignment_gap: F,
pub positive_std: F,
pub negative_std: F,
pub n_positive_pairs: usize,
pub n_negative_pairs: usize,
}