macro F1
Macro F1 er det u vægtede gennemsnit af F1-score for hver klasse i en klassifikationsopgave, hvor alle klasser behandles lige uafhængigt af deres hyppighed.
Kort fortalt
Macro F1 beregner F1-score for hver klasse for sig og tager derefter gennemsnittet, så sjældne klasser vægtes lige så meget som hyppige.
- Kategori
- metrik
- Niveau
- øvet
Betydninger
1- 1
En evalueringsmetrik for klassifikationsmodeller, der beregner det u vægtede gennemsnit af F1-score for hver klasse, velegnet til ubalancerede datasæt.
- Macro F1 gav 0,72, hvilket indikerer jævn ydeevne på tværs af alle klasser. — Eksempel
- I multi-klasse klassifikation anbefales det at rapportere både macro F1 og weighted F1. — Forskningspraksis
Hvornår bruges det
Macro F1 anvendes især ved ubalancerede datasæt, hvor man ønsker en model, der præsterer godt på tværs af alle klasser, ikke kun de dominerende. Det er standard i multi-klasse klassifikation, når man vil undgå at lade mange prøver dominere metrikken.
Formel
F1_macro = (1/N) * Σ_i F1_i, hvor N er antal klasser og F1_i er F1-score for klasse i.Kodeeksempel
from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]
macro_f1 = f1_score(y_true, y_pred, average='macro')
print(macro_f1) # Output: 0.266666...Beregning af macro F1 med scikit-learn ved at sætte average='macro'.
Oprindelse
Udtrykket 'macro' refererer til makro-gennemsnit, hvor hver klasse har samme vægt, og 'F1' stammer fra F1-scoren, som er det harmoniske gennemsnit af præcision og recall.
Afledte ord
1Kilder
2- Sokolova, M., & Lapalme, G. (2009). A systematic analysis of performance measures for classification tasks. Information Processing & Management, 45(4), 427-437.
- Scikit-learn documentation: sklearn.metrics.f1_score