pub mod classification;
pub mod clustering;
pub mod regression;
pub use classification::{
Average, ConfusionMatrix, MulticlassConfusionMatrix, accuracy, average_precision, cohen_kappa,
log_loss, precision_recall_curve, roc_auc, roc_curve, top_k_accuracy,
};
pub use clustering::{
adjusted_mutual_info, adjusted_rand_index, calinski_harabasz_score, completeness_score,
davies_bouldin_score, fowlkes_mallows_score, homogeneity_score, normalized_mutual_info,
silhouette_score, v_measure_score,
};
pub use regression::{
explained_variance_score, mean_absolute_error, mean_absolute_percentage_error,
mean_squared_error, median_absolute_error, r2_score, root_mean_squared_error,
};
#[inline]
fn validate_pair(expected: usize, found: usize, what: &str) {
if expected != found {
panic!("dimension mismatch: expected {expected}, found {found}");
}
if expected == 0 {
panic!("input is empty: {what}");
}
}