package modelkit
Module Modelkit.Binary_classification_metrics
Binary classification metrics and plotting-neutral curve data.
positive_label defaults to 1. Observed labels must contain at most one other integer label. Curve thresholds are deterministic: ROC thresholds are descending and begin with infinity; precision-recall thresholds are ascending. ROC and precision-recall curves require positive and negative weighted support. Scalar fallbacks are zero for undefined precision, recall, F1, and balanced accuracy, 0.5 for ROC AUC, and zero for average precision, which sums precision over recall steps of the precision-recall curve without interpolation. Scalar label and loss metrics are O(samples) with O(1) scratch. Ranking curves are O(samples * log samples) time and O(samples) space.
val accuracy :
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
prediction:Target.classification Target.t ->
unit ->
(float, Error.t) resultval balanced_accuracy :
?positive_label:int ->
?undefined:Undefined_metric_policy.t ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
prediction:Target.classification Target.t ->
unit ->
(float, Error.t) resultval precision :
?positive_label:int ->
?undefined:Undefined_metric_policy.t ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
prediction:Target.classification Target.t ->
unit ->
(float, Error.t) resultval recall :
?positive_label:int ->
?undefined:Undefined_metric_policy.t ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
prediction:Target.classification Target.t ->
unit ->
(float, Error.t) resultval f1 :
?positive_label:int ->
?undefined:Undefined_metric_policy.t ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
prediction:Target.classification Target.t ->
unit ->
(float, Error.t) resultval log_loss :
?positive_label:int ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
positive_probabilities:Vector.t ->
unit ->
(float, Error.t) resultval roc_auc :
?positive_label:int ->
?undefined:Undefined_metric_policy.t ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
positive_probabilities:Vector.t ->
unit ->
(float, Error.t) resultval average_precision :
?positive_label:int ->
?undefined:Undefined_metric_policy.t ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
positive_probabilities:Vector.t ->
unit ->
(float, Error.t) resultval roc_curve :
?positive_label:int ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
positive_probabilities:Vector.t ->
unit ->
(roc_curve, Error.t) resultval precision_recall_curve :
?positive_label:int ->
?sample_weight:Sample_weight.t ->
truth:Target.classification Target.t ->
positive_probabilities:Vector.t ->
unit ->
(precision_recall_curve, Error.t) result