Poängsättning av binära klassificeringsmodeller
Binära klassificeringsmodeller fördelar resultaten i två kategorier, t.ex. ja eller nej. Hur exakt en modell fördelar resultaten kan bedömas med hjälp av en rad olika poängsättningsmått.
Måtten avslöjar olika styrkor och svagheter i modellen. Inget av dem kan i sig självt vara ett verkligt mått på en bra passform. Det är särskilt viktigt att tänka på att en bra total noggrannhetspoäng inte betyder att modellen är bra. Vad betyder det till exempel om ett företag bara har en konverteringsgrad på 10 procent? Modellen kan få en 90-procentig noggrannhetspoäng genom att helt enkelt säga att inga kundämnen någonsin kommer att konverteras. Det är här som F1, träffmängd och precision kommer in i bilden för att bidra till att avgöra balansen mellan styrkor och svagheter hos en modell. Om modellen utgår från att 100 procent av kundämnena inte skulle konverteras skulle F1 vara 0.
Under träningen av ett experiment för binär klassificering autogenereras följande diagram för snabbanalys av modellpoäng:
Confusion matrix: ett diagram som summerar noggrannheten hos prognosresultat i en klassificeringsmodell. Se Sammanblandningsmatris.
ROC-kurva: ett diagram som visar hur bra en maskininlärningsmodell är på att förutsäga den positiva klassen när det faktiska utfallet är positivt. Se AUC och ROC-kurva.
Sammanblandningsmatris
De flesta mätvärden för binära klassificeringsproblem genereras genom olika beräkningar av värdena i sammanblandningsmatrisen. Sammanblandningsmatrisen är en av de visualiseringar som visas på fliken Modeller. Den visar hur många av de faktiska sanna och faktiska falska värdena som förutspåddes korrekt, med en totalsumma för varje klass. De värden som visas i diagrammet är baserade på de automatiska undantagna data som används för att validera modellens prestanda efter träningen. Varje post i datauppsättningen sorteras in i en av kvadranterna:
-
Sant positiva värden (SP) är faktiska sanna värden som korrekt förutspåddes som sanna.
-
Falskt positiva värden (FP) är faktiska falska värden som felaktigt förutspåddes som sanna.
-
Falskt negativa värden (FN) är faktiska sanna värden som felaktigt förutspåddes som falska.
-
Sant negativa värden (SN) är faktiska falska värden som korrekt förutspåddes som falska.
Under siffrorna i varje kvadrant kan du också se procentuella värden för mätvärdena recall (TP), fallout (FP), miss rate (FN) och specificity (TN). Håll muspekaren över ett värde för att se ett verktygstips med måttet.
Alla realistiska fall kommer att ha falska positiva och falska negativa resultat i sammanblandningsmatrisen. Perfekta prognoser på träningsdata skulle indikera att modellen har memorerat svaren och kommer att prestera dåligt i den verkliga världen. Du kommer att vilja vara säker på att du har fått tillräckligt många sanna positiva och negativa resultat.
F1
F1-poäng är ett mått som försöker ta hänsyn till noggrannheten när klasserna är obalanserade genom att fokusera på noggrannheten hos positiva prognoser och faktiska positiva poster. Det kan ses som hur exakt modellen hittar de resultat som är viktiga. Måttet försöker balansera träffmängd och precision för att hitta något som ligger mitt emellan dessa två. Observera att ju mer obalanserad en datauppsättning är, desto lägre är troligen F1-poängen, även om den totala noggrannheten är densamma.
Om F1-värdet är högt kommer alla andra poängsättningsmått att vara höga. Om värdet är lågt är det ett tecken på att du behöver göra ytterligare analyser. Om poängen är mycket hög, eller om poängen för undantagna data är mycket lägre än poängen för korsvalidering, kan det dock vara ett tecken på dataläckage.
F1 beräknas på följande sätt: 2 x ((precision x träffmängd) / (precision + träffmängd))
Träffmängd
Träffmängden är den sant positiva andelen. Den mäter hur ofta modellen korrekt förutspådde sanningen när något faktiskt var sant. Det vill säga, hur exakt hittade modellen alla faktiska sanna resultat i en datauppsättning? Träffmängden är måttet på hur bra minnet är av den positiva klassen. Det beräknas på följande sätt: TP / (TP + FN)
Precision
Precision kallas också för det positiva prediktiva värdet. Den mäter sannolikheten för att modellen hade rätt när den gjorde en prognos om att något är sant. Det beräknas på följande sätt: TP / (TP + FP)
Avvägning mellan träffmängd och precision
Träffmängd kan beskrivas som hur brett nät som modellen kastar: fångade den alla sanna värden ,även om den gjorde några felaktiga positiva förutsägelser? Hittade den så många sanna värden som möjligt? Precision är lite av motsatsen till träffmängd. Här vill vi vara säkra på att modellen är mycket exakt när den förutspår sanna värden. Med hög precision kommer vi dock att få fler falskt negativa resultat, där modellen förutspår falskt även om något är sant.
Det finns en avvägning att göra mellan att inte missa några sanna resultat och att vara säker på att inget av de resultat som förutspåddes som sanna i själva verket var falska. Huruvida det är lämpligt att välja högre precision eller högre träffmängd beror på ditt användningsområde. När det gäller prognoser om sjukdomsdiagnoser vill man till exempel se till att man inte missar patienter som faktiskt hade sjukdomen, det vill säga får falskt negativa resultat.
-
Om "kostnaden" för ett falskt negativt resultat är hög kan det vara motiverat att använda en modell som är inriktad på en stor träffmängd.
-
Om "kostnaden" för ett falskt positivt resultat är hög kan en modell som är inriktad på hög precision vara motiverad.
Noggrannhet
Med noggrannhet mäts hur ofta modellen i genomsnitt gjorde en korrekt prognos. Den beräknas som (TP + TN) / (alla förutsägelser)
Specificitet
Specificitet är den sant negativa andelen. Den mäter hur ofta modellen korrekt förutspådde falskt när något faktiskt var falskt. Det beräknas på följande sätt: TN / (FP + TN)
MCC
Matthews korrelationskoefficient (MCC) varierar mellan -1 och 1, där 1 innebär att modellen förutsade varje urval korrekt. MCC beräknas på följande sätt: ((SP x SN) - (FP x FN)) / [(SP + FP) x (FN + SN) x (FP + SN) x (SP + FN)]^(1/2)
Missfrekvens
Missfrekvensen är den falskt negativa frekvensen. Det är förhållandet mellan antalet falskt negativa resultat och det totala antalet faktiska positiva resultat. Det beräknas på följande sätt: FN / (TP + FN)
Bortfall
Bortfallet är andelen falska positiva resultat. Det är förhållandet mellan antalet falskt positiva resultat och det totala antalet faktiska negativa resultat. Det beräknas på följande sätt: FP / (FP + TN)
NPV
Negativt prediktivt värde (NPV) mäter sannolikheten för att modellen var korrekt när den gjorde en prognos om att något är falskt. Det beräknas på följande sätt: TN / (FN + TN)
Loggförlust
Loggförlust är ett vanligt mått på noggrannhet vid logistisk regression. Ett lägre värde för loggförlust innebär bättre prognoser – en perfekt modell skulle ha en loggförlust på 0.
AUC och ROC-kurva
AUC (area under kurvan) är ett mer komplicerat mått på noggrannhet som kan hjälpa dig att förstå hur deterministisk en modell är. Den beskriver hur bra modellen är på att förutsäga den positiva klassen när det faktiska resultatet är positivt.
AUC definieras som arean under en ROC-kurva. ROC-kurvan visar andelen falskt positiva resultat (x-axeln) i förhållande till andelen sant positiva resultat (y-axeln) för ett antal olika tröskelvärden mellan 0,0 och 1,0. Med andra ord visas andelen falska larm i förhållande till antalet träffar. Denna kurva är användbar för att förstå om det är möjligt att skilja mellan klasser och om data är tillräckligt bra för att kunna skilja mellan förutsedda resultat.
Den sant positiva andelen beräknas som: TP / (TP + FN)
-
Ju närmare den sanna positiva andelen ligger 1,0 – den största möjliga arean under kurvan – desto mer deterministisk är modellen.
-
Ju närmare 0,5 den sanna positiva andelen ligger, desto mindre deterministisk är modellen.
Bilden nedan visar en bra ROC-kurva. Den är bra eftersom kurvan bör ligga så nära 1 som möjligt, vilket ger en hög AUC. Den streckade linjen anger ett slumpmässigt förhållande, 50/50. Om AUC är låg anses kurvan vara en dålig kurva.
Tröskelvärde
Tröskelvärdet är sannolikheten för att en prognos är sann. Det är en avvägning mellan falska positiva och falska negativa resultat. Tröskelvärdet bestäms för varje algoritm och det kommer troligen att finnas olika tröskelvärden för varje algoritm i din modell.
Justering av tröskelvärden
Justering av tröskelvärden är ett effektivt sätt att se till att rätt tröskelvärde väljs för att optimera F1-poängen för binära klassificeringsmodeller. AutoML beräknar precision och träffmängd för hundratals olika tröskelvärden från 0 till 1. Det tröskelvärde som ger den högsta F1-poängen väljs.
Genom att tröskelvärdet väljs ut – i stället för att man förlitar sig på standardtröskelvärdet 0,5 – skapas prognoser som är mer robusta för datauppsättningar som har en obalans i antalet positiva och negativa fall.
I diagrammet är tröskelvärdet satt till 0,5. I det här fallet fick poster som faktiskt var sanna och som hade en förutsägelse på mindre än 0,5 den förutsagda etiketten falsk (falskt negativ).
Genom att ändra tröskelvärdet som avgör om en post förutsägs vara sann eller falsk kan vi få en tendens till antingen högre träffmängd eller högre precision.