Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Forebyggelse af Overfitting i Beslutningstræer | Beslutningstræ
Klassifikation med Python

Forebyggelse af Overfitting i Beslutningstræer

Stryg for at vise menuen

Før vi går i gang med at implementere et Decision Tree med Python, er der et vigtigt emne at tage op: overfitting – den primære udfordring forbundet med Decision Trees.

meme+friends

Nedenfor ses et eksempel på, hvordan Decision Tree tilpasser sig datasættet. Bemærk, hvordan modellen tilpasser sig træningsdataene og opfanger dets mønstre og detaljer:

DecisionBoundaryTree

Selvom modellen passer perfekt til træningssættet uden at fejlklassificere nogen eksempler, er problemet, at beslutningsgrænserne er for komplekse. Derfor vil test- (eller krydsvaliderings-) nøjagtigheden være betydeligt lavere end træningssættets nøjagtighed, hvilket indikerer, at modellen overfitter.

Årsagen til dette er, at modellen vil lave så mange opdelinger som nødvendigt for at tilpasse træningsdataene perfekt.

Heldigvis er Decision Tree meget konfigurerbar, så vi kan justere dens hyperparametre for at minimere overfitting.

Maksimal trædybde

Dybde af en node er afstanden (lodret) fra noden til roden.

Trædybde

Det er muligt at begrænse maksimal dybde af et beslutningstræ, hvilket gør det mindre og mindsker sandsynligheden for overfitting. For at gøre dette omdannes beslutningsnoder på maksimal dybde til bladnoder.

Trædybdeanimation

Her er også en gif, der viser, hvordan beslutningsgrænsen ændrer sig med forskellige værdier for maksimal dybde:

DecisionBoundaryTreeAnimation

Minimum antal eksempler

En anden måde at begrænse træet på er at angive minimum antal eksempler på bladnoderne. Dette gør modellen enklere og mere robust over for outliers.

TreeDepthAnimationLeaf

Du kan se, hvordan denne hyperparameter påvirker beslutningsgrænsen:

DecisionBoundaryTreeLeaf

Begge disse hyperparametre er tilgængelige i scikit-learn's Decision Tree-implementering.
Som standard er træet uden begrænsninger: max_depth er sat til None, hvilket betyder, at der ikke er nogen grænse for dybden, og min_samples_leaf er sat til 1.

question mark

Vælg den FORKERTE påstand.

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 3. Kapitel 3
some-alt