///|
pub(all) struct Fold {
  train_indices : Array[Int]
  test_indices : Array[Int]
} derive(Eq, Debug)

///|
pub(all) struct ClassificationValidation {
  fold_scores : Array[Double]
  mean_accuracy : Double
} derive(Eq, Debug)

///|
pub(all) struct RegressionValidation {
  fold_mse : Array[Double]
  fold_mae : Array[Double]
  mean_mse : Double
  mean_mae : Double
} derive(Eq, Debug)