sig
  type t = {
    n_samples : int;
    target_variance : float;
    sse : float;
    mse : float;
    rmse : float;
    smse : float;
    msll : float;
    mad : float;
    maxad : float;
  }
  val calc_n_samples : Interfaces.Sigs.Eval.Trained.t -> int
  val calc_target_variance : Interfaces.Sigs.Eval.Trained.t -> float
  val calc_sse : Interfaces.Sigs.Eval.Trained.t -> float
  val calc_mse : Interfaces.Sigs.Eval.Trained.t -> float
  val calc_rmse : Interfaces.Sigs.Eval.Trained.t -> float
  val calc_smse : Interfaces.Sigs.Eval.Trained.t -> float
  val calc_msll : Interfaces.Sigs.Eval.Trained.t -> float
  val calc_mad : Interfaces.Sigs.Eval.Trained.t -> float
  val calc_maxad : Interfaces.Sigs.Eval.Trained.t -> float
  val calc : Interfaces.Sigs.Eval.Trained.t -> Interfaces.Sigs.Eval.Stats.t
end