Ylisovittamisen Estäminen Päätöspuissa
Pyyhkäise näyttääksesi valikon
Ennen kuin siirrytään Decision Treen toteuttamiseen Pythonilla, on tärkeää käsitellä aihetta: ylisovittaminen – Decision Treen keskeinen haaste.
Alla on esimerkki siitä, miten Decision Tree sovittaa aineiston. Huomaa, kuinka malli mukautuu opetusaineistoon, tunnistaen sen rakenteet ja yksityiskohdat:
Vaikka malli sovittaa täydellisesti opetusjoukon ilman yhtään virheellistä luokitusta, ongelmana on, että päätösrajat ovat liian monimutkaisia. Tämän seurauksena testijoukon (tai ristiinvalidoinnin) tarkkuus on huomattavasti alhaisempi kuin opetusjoukon tarkkuus, mikä osoittaa, että malli ylisovittaa.
Tämä johtuu siitä, että malli tekee niin monta jakoa kuin tarvitaan sovittaakseen opetusdatan täydellisesti.
Onneksi päätöspuu on erittäin muokattavissa, joten voimme säätää sen hyperparametreja ylisovittamisen minimoimiseksi.
Puun maksimisyvyys
Solmun syvyys on pystysuora etäisyys solmusta juurisolmuun.
Voimme rajoittaa päätöspuun enimmäissyvyyttä, jolloin puusta tulee pienempi ja ylisovittamisen riski pienenee. Tämä tehdään muuttamalla enimmäissyvyyden päätössolmut lehtisolmuiksi.
Tässä on myös gif-animaatio, joka näyttää, miten päätösraja muuttuu eri maksimisyvyyksillä:
Vähimmäismäärä havaintoja
Toinen tapa rajoittaa puuta on asettaa vähimmäismäärä havaintoja lehtisolmuille. Tämä tekee mallista yksinkertaisemman ja kestävämmän poikkeaville arvoille.
Tässä näkyy, 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.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme