CMD + K

Introduksjon til maskinlæringUbalanserte datasettBegreper & formler17
11 min lesing

Ubalanserte datasett

Unngå accuracy-fella når én klasse er sjelden, og regn deg fram til resampling, klassevekter og terskler som gjenspeiler kostnaden ved feil.

Læringsmål
  • 01Forklar accuracy-fella og sammenlign en modell med majoritetsbaselinen
  • 02Velg metrikker og kurver som avslører feil på minoritetsklassen, og forklar hvorfor PR ofte er bedre enn ROC
  • 03Regn ut antall eksempler etter under- og oversampling til et gitt klasseforhold
  • 04Forklar hvorfor tilfeldig oversampling kan gi overtilpasning, og hvor i arbeidsflyten resampling skal skje
  • 05Regn ut balanserte klassevekter og plasser og riktig i vektet BCE
  • 06Velg en terskel ut fra kostnaden ved falske positive og falske negative
0 av 20 aktiviteter
Kjerneidé

Når én klasse er sjelden, kan en modell se flink ut ved å ignorere den. En sikkerhetskontroll som slipper gjennom alle, har nesten alltid rett, men stopper aldri den ene farlige kofferten. Dette kapitlet viser hvordan du avslører en slik modell med riktige metrikker, og tre måter å rette den på: endre treningsdataene (resampling), endre tapet (klassevekter) eller endre beslutningen (terskelen).

Steg 1 av 8

Accuracy-fella

Konsept

Klasseubalanse betyr at klassene er svært ulikt representert: én svindel per tusen transaksjoner, 2,5 % skadde pakker eller noen få syke blant mange friske i en screening. Den sjeldne klassen kalles minoritetsklasse. Det er nesten alltid den vi leter etter, så den kalles positiv. Det første tallet du bør regne ut, er ƒpositiv klasseandel, .

Problemet er at accuracy teller alle riktige svar likt, og den negative klassen dominerer. En triviell modell som alltid svarer «negativ», en majoritetsbaseline, får accuracy uten å ha lært noe som helst. Med blir det 97,5 %. Enhver modell må sammenlignes med dette tallet, ikke med 50 %.

Ta en modell for transportskader på 1000 forsendelser, der 25 er skadet. Den finner 18 av de 25 skadene (TP = 18, FN = 7), men lager også 24 falske alarmer (FP = 24), så TN = 951.

Accuracy er , altså lavere enn baselinen på 0,975. Likevel er modellen langt mer nyttig: den finner 72 % av skadene, mens baselinen finner null. Accuracy rangerer de to modellene i feil rekkefølge. Det er accuracy-fella: ved sterk ubalanse sier accuracy mest om hvor sjelden den positive klassen er, og lite om hvor godt modellen finner den.

Interaktiv figur

Prøv: Dra τ helt til høyre: accuracy holder seg høy, men recall faller til 0.

Laster interaktiv figur …
Figur 8.1Accuracy-fella med 10 % positive. 60 forsendelser, 6 skadet: en modell som aldri varsler, får likevel 90 % accuracy.
Interaktiv
RegneeksempelEt sykehus tester en modell på 2000 pasienter, der 40 har en sjelden infeksjon, og modellen finner 30 av dem med 60 falske alarmer: sammenlign modellen med majoritetsbaselinen.

Steg 1. Fyll ut matrisen: , , og .

Steg 2. Modellen har accuracy og recall .

Steg 3. Baselinen («alle er friske») har accuracy og recall .

Steg 4. Baselinen vinner på accuracy, men finner ingen syke, mens modellen finner tre av fire. Her er recall og precision () de relevante tallene.

Øving 1 av 2

Et datasett har 8 % positive eksempler. Modellen får 93 % accuracy, men recall for positiv klasse er 0,20. Hva er den mest presise tolkningen?

Øving 2 av 2

Et testsett har 2400 transaksjoner, og 3 % er svindel. Modellen din får accuracy . Hva er accuracy for en triviell modell som alltid svarer «ikke svindel»? Oppgi svaret med tre desimaler.

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…