Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Ylisovittamisen Estäminen Päätöspuissa | Osio
Ohjatun Oppimisen Perusteet

bookYlisovittamisen Estäminen Päätöspuissa

Ennen kuin siirrytään päätöspuun toteuttamiseen Pythonilla, on tärkeää käsitellä seuraavaa aihetta: ylisovittaminen – päätöspuiden keskeinen haaste.

Alla on esimerkki siitä, miten päätöspuu sovittaa aineiston. Huomaa, kuinka malli mukautuu harjoitusaineistoon, tunnistaen sen rakenteet ja yksityiskohdat:

Vaikka malli sovittaa harjoitusaineiston täydellisesti ilman virheellisiä luokituksia, ongelmana on, että päätösrajat ovat liian monimutkaisia. Tämän seurauksena testin (tai ristiinvalidoinnin) tarkkuus on huomattavasti alhaisempi kuin harjoitusaineiston tarkkuus, mikä osoittaa, että malli ylisovittaa.

Tämä johtuu siitä, että malli tekee niin monta jakoa kuin tarvitaan sovittaakseen harjoitusaineiston täydellisesti.

Onneksi päätöspuu on erittäin muokattavissa, joten sen hyperparametreja voidaan säätää ylisovittamisen minimoimiseksi.

Puun enimmäissyvyys

Solmun syvyys on etäisyys (pystysuunnassa) solmusta juurisolmuun.

Voimme rajoittaa päätöspuun enimmäissyvyyttä, jolloin puusta tulee pienempi ja ylisovittamisen riski pienenee. Tämä tehdään muuttamalla päätössolmut enimmäissyvyydessä lehtisolmuiksi.

Alla on gif, joka havainnollistaa, miten päätösraja muuttuu eri enimmäissyvyyksillä:

Vähimmäisotosmäärä

Toinen tapa rajoittaa puuta on asettaa vähimmäisotosmäärä lehtisolmuille. Tämä tekee mallista yksinkertaisemman ja kestävämmän poikkeaville arvoille.

Voit tarkastella, miten tämä hyperparametri vaikuttaa päätösrajapintaan:

Molemmat näistä hyperparametreista ovat käytettävissä scikit-learnin Decision Tree -toteutuksessa.
Oletuksena puu on rajoittamaton: max_depth on asetettu arvoon None, eli syvyydelle ei ole rajoitusta, ja min_samples_leaf on asetettu arvoon 1.

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 29

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookYlisovittamisen Estäminen Päätöspuissa

Pyyhkäise näyttääksesi valikon

Ennen kuin siirrytään päätöspuun toteuttamiseen Pythonilla, on tärkeää käsitellä seuraavaa aihetta: ylisovittaminen – päätöspuiden keskeinen haaste.

Alla on esimerkki siitä, miten päätöspuu sovittaa aineiston. Huomaa, kuinka malli mukautuu harjoitusaineistoon, tunnistaen sen rakenteet ja yksityiskohdat:

Vaikka malli sovittaa harjoitusaineiston täydellisesti ilman virheellisiä luokituksia, ongelmana on, että päätösrajat ovat liian monimutkaisia. Tämän seurauksena testin (tai ristiinvalidoinnin) tarkkuus on huomattavasti alhaisempi kuin harjoitusaineiston tarkkuus, mikä osoittaa, että malli ylisovittaa.

Tämä johtuu siitä, että malli tekee niin monta jakoa kuin tarvitaan sovittaakseen harjoitusaineiston täydellisesti.

Onneksi päätöspuu on erittäin muokattavissa, joten sen hyperparametreja voidaan säätää ylisovittamisen minimoimiseksi.

Puun enimmäissyvyys

Solmun syvyys on etäisyys (pystysuunnassa) solmusta juurisolmuun.

Voimme rajoittaa päätöspuun enimmäissyvyyttä, jolloin puusta tulee pienempi ja ylisovittamisen riski pienenee. Tämä tehdään muuttamalla päätössolmut enimmäissyvyydessä lehtisolmuiksi.

Alla on gif, joka havainnollistaa, miten päätösraja muuttuu eri enimmäissyvyyksillä:

Vähimmäisotosmäärä

Toinen tapa rajoittaa puuta on asettaa vähimmäisotosmäärä lehtisolmuille. Tämä tekee mallista yksinkertaisemman ja kestävämmän poikkeaville arvoille.

Voit tarkastella, miten tämä hyperparametri vaikuttaa päätösrajapintaan:

Molemmat näistä hyperparametreista ovat käytettävissä scikit-learnin Decision Tree -toteutuksessa.
Oletuksena puu on rajoittamaton: max_depth on asetettu arvoon None, eli syvyydelle ei ole rajoitusta, ja min_samples_leaf on asetettu arvoon 1.

question mark

Valitse VÄÄRÄ väittämä.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 29
some-alt