Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Forhindre Overtilpasning i Beslutningstrær | Seksjon
Grunnleggende Overvåket Læring

bookForhindre 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 forbundet med 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 forekomster, 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 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 roten.

Vi kan begrense maksimal dybde for 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 hyperparametrene er tilgjengelige i scikit-learn sin Decision Tree-implementasjon.
Som standard er treet ubegrenset: 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 den FEILAKTIGE påstanden.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 29

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

bookForhindre 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 forbundet med 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 forekomster, 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 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 roten.

Vi kan begrense maksimal dybde for 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 hyperparametrene er tilgjengelige i scikit-learn sin Decision Tree-implementasjon.
Som standard er treet ubegrenset: 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 den FEILAKTIGE påstanden.

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 29
some-alt