CMD + K

13 min lesing

Beslutningstrær

Se hvordan et tre velger splitten som reduserer urenhet mest, med Gini og entropi for klassifikasjon og varians for regresjon.

Læringsmål
  • 01Følg en observasjon fra rot til blad og forklar hva bladet predikerer i klassifikasjon og regresjon
  • 02Regn ut Gini-urenhet og entropi for en node
  • 03Velg splitten med lavest vektet urenhet eller størst informasjonsgevinst
  • 04Regn ut vektet varians for kandidatsplitter i et regresjonstre
  • 05Forklar hvordan maksimal dybde og minste bladstørrelse styrer overtilpasning
  • 06Forklar hvorfor trær ikke trenger skalering og likevel fanger vekselvirkninger
0 av 20 aktiviteter
Kjerneidé

Et beslutningstre er en kjede av ja/nei-spørsmål om featurene, som en lek med tjue spørsmål: hvert svar sender deg ett steg nærmere konklusjonen. Treet lærer selv hvilke spørsmål det skal stille, ved å lete etter terskelen som gjør gruppene etter spørsmålet mest mulig ensartede. Resten av kapitlet, med Gini, entropi, varians og dybde, handler om hvordan vi måler «ensartet», og om når treet bør slutte å spørre.

Steg 1 av 7

Hvordan et tre predikerer

Konsept

Tenk deg en nettbutikk som vil vite om et besøk ender i kjøp. En erfaren selger kunne sagt: «Kunder over 30 kjøper nesten alltid. For de yngre kommer det an på om de har vært innom flere ganger før.» Et beslutningstre lærer slike regler fra data i stedet for at noen skriver dem for hånd.

Treet består av noder. Hver indre beslutningsnode stiller ett spørsmål av formen : er feature mindre enn eller lik terskelen ? Valget av feature og terskel kalles en split. Ja-svar går til venstre og nei-svar til høyre, helt til observasjonen havner i en bladnode. For å predikere følger vi én sti fra roten og ned. Det regnes ingen vektet sum og ingen avstand, vi sammenligner bare tall med terskler.

Hva står i bladet? Under treningen havnet en gruppe treningspunkter i hvert blad. I klassifikasjon predikerer bladet majoritetsklassen blant dem, og predict_proba rapporterer klasseandelene. I regresjon predikerer bladet gjennomsnittet av målverdiene, som du ser i steg 4.

Laster interaktiv figur …
Figur 9.1Et lite beslutningstre: følg én sti fra roten. Ja går til venstre. Uthevet: en kunde på 25 år med 5 besøk havner i et kjøp-blad.

Hvilke terskler kan treet teste? For en numerisk feature sorterer algoritmen verdiene i noden og prøver midtpunktene mellom naboverdier som er ulike. Med verdiene er kandidatene og . En terskel på ville gitt nøyaktig samme inndeling som , så den trenger ikke testes. Hver split deler rommet med en linje parallelt med en akse, og beslutningsgrensen til et tre blir derfor alltid en trapp av akseparallelle biter.

Playground

Reglene koden skriver ut, er de samme som i figuren.

Et tre med to nivåer på kundedata

Prøv: Dra dybde ned til 1 og se hvilket spørsmål treet stiller alene, og dra alder for å følge «sti for den nye kunden» og «P(kjøp)».

Pythonkap9-tre-regler.py
RegneeksempelFølg to kunder gjennom treet i figuren og les av prediksjonen og sannsynligheten.

Steg 1. Kunde A er 24 år og har 1 tidligere besøk. Roten spør «alder ≤ 30?»: ja, gå til venstre. Neste node spør «besøk ≤ 3?»: ja, gå til venstre igjen.

Steg 2. Dette bladet fikk 7 treningskunder, 6 uten kjøp og 1 med kjøp. Prediksjonen er majoritetsklassen «ikke kjøp», og sannsynligheten er .

Steg 3. Kunde B er 45 år og har 0 besøk. Roten sender henne til høyre, rett i et blad der alle 6 treningskundene kjøpte. Prediksjonen er «kjøp» med .

Steg 4. Legg merke til at treet aldri spurte om besøk for kunde B. Antall besøk betyr noe bare for de unge. Det er en vekselvirkning mellom alder og besøk, og treet fanget den uten at vi ba om det.

Øving 1 av 2

Featuren temperatur har verdiene og i en node. Hvilke terskler er det naturlig at treet tester?

Øving 2 av 2

Et blad i et klassifikasjonstre inneholdt 9 treningspunkter: 6 i klassen «godkjent» og 3 i klassen «avvist». Hvilken sannsynlighet for «godkjent» rapporterer treet for et nytt punkt som havner i dette bladet? Oppgi svaret med to desimaler.

Mine notater

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

Laster…