vægtet F1
Vægtet F1 er et gennemsnit af F1-scores for hver klasse, vægtet efter antallet af sande instanser i hver klasse.
Kort fortalt
En måde at beregne F1-score på, der giver større vægt til større klasser, så den afspejler modellens præstation på den faktiske datafordeling.
- Kategori
- metrik
- Niveau
- øvet
Betydninger
1- 1
En evalueringsmetrik for klassifikationsmodeller, der beregner det vægtede gennemsnit af F1-scores for hver klasse, hvor vægtene er andelen af sande instanser i hver klasse.
- Vægtet F1 er særligt nyttig, når man evaluerer en model på et ubalanceret datasæt, hvor man ønsker at tage højde for klassernes forskellige størrelser.
- I scikit-learn kan man beregne vægtet F1 ved at angive `average='weighted'` i funktionen `f1_score`.
Hvornår bruges det
Anvendes i multiklassen-klassifikation når klasserne er ubalancerede, for at få en samlet score der tager højde for klassestørrelser. Den er nyttig når man ønsker et enkelt mål, der repræsenterer præstationen på tværs af alle klasser, men hvor hver klasses bidrag er proportionelt med dens forekomst.
Formel
F1_weighted = Σ_i (w_i * F1_i), where w_i = n_i / N (n_i = number of true instances in class i, N = total instances)Kodeeksempel
from sklearn.metrics import f1_score
y_true = [0, 0, 1, 1, 2, 2]
y_pred = [0, 0, 1, 2, 2, 2]
weighted_f1 = f1_score(y_true, y_pred, average='weighted')
print(weighted_f1) # 0.6666666666666666Beregner vægtet F1 for et lille eksempel med tre klasser (0,1,2).
Oprindelse
Afledt af 'F1-score' (harmonisk gennemsnit af præcision og recall) og 'vægtet' (hver klasses bidrag multipliceres med en vægt baseret på klassestørrelse).