← retour aux snippets

sklearn: MCC, F-beta, balanced accuracy

mesurer classification déséquilibrée avec MCC, F-beta, balanced accuracy

sklearn: MCC, F-beta, balanced accuracy

objectif

Expliquer et montrer comment mesurer classification déséquilibrée avec MCC, F-beta, balanced accuracy.

code minimal

from sklearn.metrics import matthews_corrcoef, fbeta_score, balanced_accuracy_score
y_true = [0,0,0,0,1,1,1,1]
y_pred = [0,0,0,1,0,0,1,1]
print(matthews_corrcoef(y_true, y_pred))
print(fbeta_score(y_true, y_pred, beta=2))
print(balanced_accuracy_score(y_true, y_pred))

utilisation

# MCC proche de 1 = très bon, 0 = aléatoire, -1 = inverse parfait

variante(s) utile(s)

# classification multilabel: average='macro' ou 'samples'
# fbeta_score(y_true_multi, y_pred_multi, beta=2, average='samples')

notes

  • MCC résume la matrice de confusion et gère bien les déséquilibres.
  • F-beta pondère le rappel; beta>1 favorise le rappel.