sig
  type confusion_matrix = private { tp : int; tn : int; fp : int; fn : int; }
  val make :
    pos:float Stream.t ->
    neg:float Stream.t -> (float * Biocaml_roc.confusion_matrix) Stream.t
  val sensitivity : Biocaml_roc.confusion_matrix -> float
  val false_positive_rate : Biocaml_roc.confusion_matrix -> float
  val accuracy : Biocaml_roc.confusion_matrix -> float
  val specificity : Biocaml_roc.confusion_matrix -> float
  val positive_predictive_value : Biocaml_roc.confusion_matrix -> float
  val negative_predictive_value : Biocaml_roc.confusion_matrix -> float
  val false_discovery_rate : Biocaml_roc.confusion_matrix -> float
  val f1_score : Biocaml_roc.confusion_matrix -> float
  val auc : (float * float) Stream.t -> float
end