Classification Metrics¶
Standard classification metrics for evaluating models that output class probabilities.
All functions are registered in classification_metric_registry at import time via
@register_classification_metric, which also enforces that probs is 2-D and
that batch sizes match before delegating to the metric function.
Included metrics: accuracy, F1 (macro), precision (macro), recall (macro), and AUC-ROC (binary one-class probability; multiclass one-vs-rest).
Classification metrics.
All metrics are automatically registered in classification_metric_registry
at import time via the @register_classification_metric decorator.
- alf_core.utils.metrics.classification.accuracy(probs, targets)[source]¶
Compute classification accuracy.
- Parameters:
probs (
Float[ndarray, 'n_samples num_classes']) – Array of shape (n_samples, num_classes). Predicted class probabilities.targets (
Int[ndarray, 'n_samples']) – Array of shape (n_samples,). Integer class labels.
- Returns:
accuracy float}
- Return type:
dict[str,float]
- alf_core.utils.metrics.classification.auc_roc(probs, targets)[source]¶
Compute Area Under the ROC Curve (AUC-ROC).
For binary classification, uses the positive-class probabilities. For multiclass, uses one-vs-rest averaging.
- Parameters:
probs (
Float[ndarray, 'n_samples num_classes']) – Array of shape (n_samples, num_classes). Predicted class probabilities.targets (
Int[ndarray, 'n_samples']) – Array of shape (n_samples,). Integer class labels.
- Returns:
AUC-ROC float}
- Return type:
dict[str,float]
- alf_core.utils.metrics.classification.f1(probs, targets)[source]¶
Compute macro-averaged F1 score.
- Parameters:
probs (
Float[ndarray, 'n_samples num_classes']) – Array of shape (n_samples, num_classes). Predicted class probabilities.targets (
Int[ndarray, 'n_samples']) – Array of shape (n_samples,). Integer class labels.
- Returns:
macro F1 float}
- Return type:
dict[str,float]
- alf_core.utils.metrics.classification.precision(probs, targets)[source]¶
Compute macro-averaged precision.
- Parameters:
probs (
Float[ndarray, 'n_samples num_classes']) – Array of shape (n_samples, num_classes). Predicted class probabilities.targets (
Int[ndarray, 'n_samples']) – Array of shape (n_samples,). Integer class labels.
- Returns:
macro precision float}
- Return type:
dict[str,float]
- alf_core.utils.metrics.classification.recall(probs, targets)[source]¶
Compute macro-averaged recall.
- Parameters:
probs (
Float[ndarray, 'n_samples num_classes']) – Array of shape (n_samples, num_classes). Predicted class probabilities.targets (
Int[ndarray, 'n_samples']) – Array of shape (n_samples,). Integer class labels.
- Returns:
macro recall float}
- Return type:
dict[str,float]
- alf_core.utils.metrics.classification.register_classification_metric(metric_fn)[source]¶
Decorator to register a classification metric.
Automatically registers the metric in the classification registry and applies basic input validation. The decorated function receives
(probs, targets)whereprobshas shape(n_samples, num_classes)andtargetshas shape(n_samples,).- Parameters:
metric_fn (
Callable) – The metric function to decorate.- Return type:
Callable- Returns:
Wrapped metric function with validation and registration.