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.