F1-score
Også kendt som: F-mål, F1-mål
Ét tal, der vejer præcision og genkaldelse sammen og kun bliver højt, når modellen både finder de ægte tilfælde og undgår fejlmarkeringer.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
To gange præcision gange genkaldelse delt med præcision plus genkaldelse - et afbalanceret gennemsnit, der trækkes ned af den laveste af de to, beregnet for én klasse.
Forklaret enkelt
Som at bedømme en målmand på både redninger og rene udspark - at være perfekt til det ene og håbløs til det andet giver stadig en dårlig karakter.
I praksis
Den IT-driftsansvarlige i et revisionsfirma sammenligner to filtre mod spam, ét med 95 % præcision og 40 % genkaldelse og et andet med 80 % og 78 %; deres F1-score, cirka 56 % mod 79 %, gør det andet til det klare valg.
Hvorfor det betyder noget
Den giver ét retfærdigt tal til at sammenligne modeller på sjældne klasser, hvor nøjagtighed vildleder, men den skjuler, hvilken af de to fejltyper der vokser.
Teknisk uddybning
F1 er det harmoniske gennemsnit af præcision P og genkaldelse R: F1 = 2PR / (P + R), hvilket i forvekslingsmatricens termer er 2TP / (2TP + FP + FN). Sande negative indgår slet ikke, og derfor passer F1 til søgning og detektion af sjældne klasser, men siger intet om, hvor godt den negative klasse håndteres. Den generelle form Fβ = (1 + β²)PR / (β²P + R) vægter genkaldelse β gange så højt som præcision; F2 er udbredt, hvor oversete tilfælde er dyre, og F0,5, hvor falske alarmer er. Målet stammer fra van Rijsbergens effektivitetsmål E inden for information retrieval (1979), som F er komplementet til.
Det harmoniske gennemsnit domineres af den mindste værdi: P = 1,0 og R = 0,1 giver F1 ≈ 0,18, mens det aritmetiske gennemsnit ville være 0,55. Ved multiklasse- og multilabel-opgaver skal scorerne pr. klasse samles, og valget ændrer tallet: makro-F1 tager gennemsnittet af F1 pr. klasse med lige vægt (så sjældne klasser tæller lige så meget som hyppige), mikro-F1 lægger TP, FP og FN sammen på tværs af klasser (og er lig nøjagtighed ved multiklasse med én label pr. eksempel), og vægtet F1 vægter efter antal eksempler pr. klasse. Selv "makro-F1" har to definitioner i litteraturen - gennemsnittet af F1 pr. klasse over for F1 af gennemsnitlig præcision og genkaldelse - og de kan afvige mærkbart (Opitz & Burst, 2019). Har en klasse hverken forudsagte eller sande positive, er F1 udefineret; scikit-learn håndterer det via parameteren zero_division.
F1 afhænger af tærsklen og maksimeres ikke ved 0,5. Lipton, Elkan og Narayanaswamy (2014) viste, at for kalibrerede sandsynligheder er den F1-optimale tærskel halvdelen af den højest opnåelige F1, så en model, der kan nå F1 = 0,6, bør have en tærskel omkring 0,3; tærsklen tunes på valideringssættet, aldrig på testsættet. F1 er desuden ikke dekomponerbar: gennemsnittet af F1 pr. fold eller pr. batch er ikke det samme som F1 beregnet på de samlede optællinger (Forman & Scholz, 2010), og den kan ikke optimeres direkte med tab pr. eksempel, så træning bruger typisk krydsentropi og sætter tærsklen bagefter.
Kritikere påpeger, at F1 ændrer sig, hvis man bytter om på, hvilken klasse der er positiv, at den afhænger af forekomsten, og at den fastlåser en vilkårlig ligevægtning af de to fejltyper; Hand og Christen (2018) argumenterede for, at den er uegnet til at sammenligne metoder til record linkage, og Matthews-korrelationskoefficienten anbefales ofte, når begge klasser betyder noget. Der findes mange opgavespecifikke varianter: F1 på entitetsniveau i named-entity recognition tæller kun en forudsigelse som rigtig ved præcis samme spænd og type, mens F1 i SQuAD-stil måler tokenoverlap mellem forudsagt svar og referencesvar.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
Relationer
- Del af
- Modelevaluering (evals)
- Forudsætter
- Præcision (precision)Genkaldelse (recall)
- Forveksl ikke med
- Nøjagtighed (accuracy)
Kilder og videre læsning
Officiel dokumentation
Opslagsværker
Lærebøger
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Test dig selv
Indlæser…