Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Forebygging av overtilpasning i beslutningstrær | Beslutningstre
Klassifisering med Python

bookForebygging av overtilpasning i beslutningstrær

Før vi går videre til å implementere et beslutningstre ved hjelp av Python, er det et viktig tema å diskutere: overtilpasning – den primære utfordringen knyttet til beslutningstrær.

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

Selv om modellen perfekt tilpasser seg treningssettet uten å feilkategorisere noen tilfeller, er problemet at beslutningsgrensene er for komplekse. Som et resultat vil nøyaktigheten på testsettet (eller ved 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 seg treningsdataene perfekt.

Heldigvis er beslutningstreet svært konfigurerbart, slik at vi kan justere hyperparametrene for å minimere overtilpasning.

Maksimal tre-dybde

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

Vi kan begrense maksimal dybde til 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.

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

Minimum antall prøver

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

Du kan se hvordan denne hyperparameteren påvirker beslutningsgrensen:

Begge disse hyperparameterne 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.

Select the correct answer

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

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

bookForebygging av overtilpasning i beslutningstrær

Sveip for å vise menyen

Før vi går videre til å implementere et beslutningstre ved hjelp av Python, er det et viktig tema å diskutere: overtilpasning – den primære utfordringen knyttet til beslutningstrær.

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

Selv om modellen perfekt tilpasser seg treningssettet uten å feilkategorisere noen tilfeller, er problemet at beslutningsgrensene er for komplekse. Som et resultat vil nøyaktigheten på testsettet (eller ved 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 seg treningsdataene perfekt.

Heldigvis er beslutningstreet svært konfigurerbart, slik at vi kan justere hyperparametrene for å minimere overtilpasning.

Maksimal tre-dybde

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

Vi kan begrense maksimal dybde til 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.

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

Minimum antall prøver

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

Du kan se hvordan denne hyperparameteren påvirker beslutningsgrensen:

Begge disse hyperparameterne 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.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3
some-alt