Skip to main content

f1_per_class

Function f1_per_class 

Source
pub fn f1_per_class(y_pred: &[usize], y_true: &[usize]) -> Vec<f32>
Expand description

Compute per-class F1 scores.

Returns a vector of F1 scores, one per class (ordered by class index). For binary classification, index 1 is the positive-class F1.

F1_i = 2 * precision_i * recall_i / (precision_i + recall_i)

§Arguments

  • y_pred - Predicted class labels
  • y_true - True class labels

§Returns

Vector of per-class F1 scores (each in 0.0..=1.0)

§Panics

Panics if vectors have different lengths or are empty.

§Examples

use aprender::metrics::classification::f1_per_class;

let y_true = vec![1, 0, 1, 0];
let y_pred = vec![1, 1, 0, 0];
let per_class = f1_per_class(&y_pred, &y_true);
assert_eq!(per_class.len(), 2);
// Both classes: precision=0.5, recall=0.5 → F1=0.5
assert!((per_class[0] - 0.5).abs() < 1e-5);
assert!((per_class[1] - 0.5).abs() < 1e-5);