Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Unngå Overtilpasning i Beslutningstrær | Beslutningstre
Klassifisering med Python

Unngå Overtilpasning i Beslutningstrær

Sveip for å vise menyen

Før vi går videre til å implementere et beslutningstre med Python, er det et viktig tema å ta opp: overtilpasning – den viktigste utfordringen knyttet til beslutningstrær.

meme+friends

Nedenfor er et eksempel på hvordan beslutningstreet tilpasser seg datasettet. Legg merke til hvordan modellen tilpasser seg treningsdataene og fanger opp mønstre og detaljer:

DecisionBoundaryTree

Selv om modellen passer perfekt til treningssettet uten å feilkategorisere noen eksempler, er problemet at beslutningsgrensene er for komplekse. Som et resultat vil nøyaktigheten på testsettet (eller kryssvalidering) være betydelig lavere enn nøyaktigheten på treningssettet, noe som indikerer at modellen overtilpasser.

Årsaken til dette er at modellen vil gjøre så mange delinger som nødvendig for å tilpasse treningsdataene perfekt.

Heldigvis er beslutningstrær svært konfigurerbare, så vi kan justere hyperparametrene for å minimere overtilpasning.

Maksimal tre-dybde

Dybde til en node er avstanden (vertikalt) fra noden til roten.

TreDybde

Vi kan begrense maksimal dybde på et beslutningstre, noe som gjør det mindre og mindre utsatt for overtilpasning. For å gjøre dette, gjør vi beslutningsnoder på maksimal dybde om til bladnoder.

TreDybdeAnimasjon

Her er også en gif som viser hvordan beslutningsgrensen endres med ulike verdier for maksimal dybde:

DecisionBoundaryTreeAnimation

Minimum antall eksempler

En annen måte å begrense treet på er å sette minimum antall eksempler på bladnodene. Dette gjør modellen enklere og mer robust mot uteliggere.

TreeDepthAnimationLeaf

Du kan se hvordan denne hyperparameteren påvirker beslutningsgrensen:

DecisionBoundaryTreeLeaf

Begge disse hyperparametrene er tilgjengelige i scikit-learn sin Decision Tree-implementasjon.
Som standard er treet uten begrensninger: max_depth er satt til None, noe som betyr at det ikke er noen grense for dybden, og min_samples_leaf er satt til 1.

question mark

Velg det FEILAKTIGE utsagnet.

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 3. Kapittel 3
some-alt