balanced accuracy

Balanceret nøjagtighed er gennemsnittet af recall for hver klasse, ofte defineret som (sensitivity + specificity)/2.

Kort fortalt

En metrik der måler modelpræstation ved at tage gennemsnittet af recall for hver klasse, så den ikke favoriserer majoritetsklassen.

Kategori
metrik
Niveau
øvet
Udtale
/ˈbælənst ˈækjərəsi/

Betydninger

1
  1. 1

    En evalueringsmetrik for klassifikationsmodeller, der beregnes som gennemsnittet af recall for hver klasse (eller (sensitivity+specificity)/2 for binær klassifikation), hvilket giver et mere retvisende billede ved ubalancerede data.

    • Da datasættet var stærkt ubalanceret, rapporterede vi balanced accuracy i stedet for almindelig nøjagtighed.
    • Modellens balanced accuracy på 0,85 indikerer en god evne til at klassificere både majoritets- og minoritetsklassen.

Hvornår bruges det

Balanced accuracy bruges især ved ubalancerede datasæt, hvor almindelig nøjagtighed kan være misvisende. Den angives ofte som en procentdel og er implementeret i scikit-learn som sklearn.metrics.balanced_accuracy_score.

Formel

balanced_accuracy = (sensitivity + specificity) / 2 = (TP/(TP+FN) + TN/(TN+FP))/2. For multi-class: average recall per class.

Kodeeksempel

from sklearn.metrics import balanced_accuracy_score

y_true = [0, 0, 0, 1, 1]
y_pred = [0, 0, 0, 0, 1]

bac = balanced_accuracy_score(y_true, y_pred)
print(bac)  # Output: 0.75

Eksempel på beregning af balanced accuracy med scikit-learn. Her er TPR=1, TNR=0.5, så BAC=(1+0.5)/2=0.75.

Oprindelse

Fra engelsk 'balanced accuracy' – 'balanced' betyder afbalanceret, 'accuracy' betyder nøjagtighed.

Kilder

2