package modelkit

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

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 =
  1. | Accuracy
  2. | Balanced_accuracy
  3. | Precision of Multiclass_classification_metrics.average
  4. | Recall of Multiclass_classification_metrics.average
  5. | F1 of Multiclass_classification_metrics.average
  6. | Log_loss
  7. | Roc_auc of {
    1. strategy : Multiclass_ranking.strategy;
    2. average : Multiclass_classification_metrics.average;
    }
  8. | Top_k_accuracy of int
type response =
  1. | Labels
  2. | Class_probabilities
type params = {
  1. metric : metric;
  2. undefined : Undefined_metric_policy.t;
}
type t
val create : ?undefined:Undefined_metric_policy.t -> metric -> t
val response : t -> response
val accuracy : t
val balanced_accuracy : ?undefined:Undefined_metric_policy.t -> unit -> t
val precision : ?undefined:Undefined_metric_policy.t -> ?average:Multiclass_classification_metrics.average -> unit -> t
val recall : ?undefined:Undefined_metric_policy.t -> ?average:Multiclass_classification_metrics.average -> unit -> t
val f1 : ?undefined:Undefined_metric_policy.t -> ?average:Multiclass_classification_metrics.average -> unit -> t
val neg_log_loss : t
val roc_auc : ?undefined:Undefined_metric_policy.t -> ?strategy:Multiclass_ranking.strategy -> ?average:Multiclass_classification_metrics.average -> unit -> t

Named roc_auc_ovr or roc_auc_ovo for macro averaging, with a _weighted or _micro suffix otherwise.

val top_k_accuracy : k:int -> t

Named top_<k>_accuracy so several cutoffs can share one report.

Admits 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
include SPECIFICATION with type t := t with type params := params
val clone : t -> t
val params : t -> params
type prediction = Multiclass_prediction.t
val name : t -> string
val score : t -> ?sample_weight:Sample_weight.t -> truth:truth -> prediction:prediction -> unit -> (float, Error.t) result