package modelkit
Module Modelkit.Multiclass_classification_scorer
Higher-is-better multiclass scorer specifications.
Label metrics request Multiclass_prediction.labels; log loss, ROC AUC, and top-k accuracy request class probabilities, and log loss is negated for selection. Averaged metrics default to Macro and carry the averaging mode in their name, for example f1_weighted.
type metric = | Accuracy| Balanced_accuracy| Precision of Multiclass_classification_metrics.average| Recall of Multiclass_classification_metrics.average| F1 of Multiclass_classification_metrics.average| Log_loss| Roc_auc of {strategy : Multiclass_ranking.strategy;average : Multiclass_classification_metrics.average;
}| Top_k_accuracy of int
val create : ?undefined:Undefined_metric_policy.t -> metric -> tval accuracy : tval balanced_accuracy : ?undefined:Undefined_metric_policy.t -> unit -> tval precision :
?undefined:Undefined_metric_policy.t ->
?average:Multiclass_classification_metrics.average ->
unit ->
tval recall :
?undefined:Undefined_metric_policy.t ->
?average:Multiclass_classification_metrics.average ->
unit ->
tval f1 :
?undefined:Undefined_metric_policy.t ->
?average:Multiclass_classification_metrics.average ->
unit ->
tval neg_log_loss : tval roc_auc :
?undefined:Undefined_metric_policy.t ->
?strategy:Multiclass_ranking.strategy ->
?average:Multiclass_classification_metrics.average ->
unit ->
tNamed roc_auc_ovr or roc_auc_ovo for macro averaging, with a _weighted or _micro suffix otherwise.
val top_k_accuracy : k:int -> tNamed top_<k>_accuracy so several cutoffs can share one report.
val as_scorer :
t ->
(Target.classification Target.t, Multiclass_prediction.t) Scorer.tAdmits a built-in specification with its required response capability.
include SCORER
with type t := t
and type params := params
and type truth = Target.classification Target.t
and type prediction = Multiclass_prediction.t
type truth = Target.classification Target.ttype prediction = Multiclass_prediction.tval name : t -> stringval score :
t ->
?sample_weight:Sample_weight.t ->
truth:truth ->
prediction:prediction ->
unit ->
(float, Error.t) result