Ylisovittamisen Estäminen Päätöspuissa
Ennen kuin siirrytään päätöspuun toteuttamiseen Pythonilla, on tärkeää käsitellä aihetta: ylisovittaminen – päätöspuihin liittyvä keskeinen haaste.
Alla on esimerkki siitä, miten päätöspuu sovittaa aineiston. Huomaa, kuinka malli mukautuu opetusaineistoon, tunnistaen sen rakenteet ja yksityiskohdat:
Vaikka malli sovittaa opetusaineiston 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 opetusaineiston tarkkuus, mikä osoittaa, että malli ylisovittaa.
Tämä johtuu siitä, että malli tekee niin monta jakoa kuin tarvitaan sovittaakseen opetusaineiston 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 myös gif-animaatio, joka havainnollistaa, miten päätösraja muuttuu eri enimmäissyvyyksillä:
Näytteen vähimmäismäärä
Toinen tapa rajoittaa puuta on asettaa lehtisolmujen vähimmäisnäytemäärä. Tämä tekee mallista yksinkertaisemman ja kestävämmän poikkeaville arvoille.
Tämän hyperparametrin vaikutus päätösrajapintaan voidaan havainnollistaa seuraavasti:
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
.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 4.17
Ylisovittamisen 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ä aihetta: ylisovittaminen – päätöspuihin liittyvä keskeinen haaste.
Alla on esimerkki siitä, miten päätöspuu sovittaa aineiston. Huomaa, kuinka malli mukautuu opetusaineistoon, tunnistaen sen rakenteet ja yksityiskohdat:
Vaikka malli sovittaa opetusaineiston 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 opetusaineiston tarkkuus, mikä osoittaa, että malli ylisovittaa.
Tämä johtuu siitä, että malli tekee niin monta jakoa kuin tarvitaan sovittaakseen opetusaineiston 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 myös gif-animaatio, joka havainnollistaa, miten päätösraja muuttuu eri enimmäissyvyyksillä:
Näytteen vähimmäismäärä
Toinen tapa rajoittaa puuta on asettaa lehtisolmujen vähimmäisnäytemäärä. Tämä tekee mallista yksinkertaisemman ja kestävämmän poikkeaville arvoille.
Tämän hyperparametrin vaikutus päätösrajapintaan voidaan havainnollistaa seuraavasti:
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
.
Kiitos palautteestasi!