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

bookForebyggelse af Overfitting i Beslutningstræer

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

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:

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

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

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

Maksimal trædybde

Dybde for en node er afstanden (lodret) fra noden til rodnoden.

Vi kan begrænse maksimal dybde af et beslutningstræ, hvilket gør det mindre og mindre tilbøjeligt til at overtilpasse. For at gøre dette omdanner vi beslutningsnoder på en maksimal dybde til bladnoder.

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

Minimum antal prøver

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

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

Begge disse hyperparametre er tilgængelige i scikit-learns Decision Tree-implementering.
Som standard er træet ikke begrænset: 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.

Select the correct answer

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

Suggested prompts:

Can you explain more about overfitting and why it's a problem for Decision Trees?

How do I choose the right values for max_depth and min_samples_leaf?

What other hyperparameters can help prevent overfitting in Decision Trees?

Awesome!

Completion rate improved to 4.17

bookForebyggelse af Overfitting i Beslutningstræer

Stryg for at vise menuen

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

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:

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

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

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

Maksimal trædybde

Dybde for en node er afstanden (lodret) fra noden til rodnoden.

Vi kan begrænse maksimal dybde af et beslutningstræ, hvilket gør det mindre og mindre tilbøjeligt til at overtilpasse. For at gøre dette omdanner vi beslutningsnoder på en maksimal dybde til bladnoder.

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

Minimum antal prøver

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

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

Begge disse hyperparametre er tilgængelige i scikit-learns Decision Tree-implementering.
Som standard er træet ikke begrænset: 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.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
some-alt