Päätöspuu-mallit binääriluokitteluongelmassa
Elomäki, Aleksi (2025-03-26)
Päätöspuu-mallit binääriluokitteluongelmassa
Elomäki, Aleksi
(26.03.2025)
Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty.
avoin
Julkaisun pysyvä osoite on:
https://urn.fi/URN:NBN:fi-fe2025040724330
https://urn.fi/URN:NBN:fi-fe2025040724330
Tiivistelmä
Koneoppimista voidaan käyttää muun muassa regressio- ja luokittelumallien luomiseen. Tällöin voidaan kouluttaa malli ennustamaan haluttu vastemuuttuja selitettävillä muuttujilla. Päätöspuupohjaiset menetelmät sopivat hyvin luokittelutehtäviin. Yleisesti päätöspuun toimintaperiaate on se, että ne jakavat havaintoja selittävien tekijöiden perusteella. Jakoa jatketaan niin kauan, että päädytään niin kutsuttuun luokittelulehteen, jossa varsinainen luokitus tapahtuu. Selittäviksi muuttujiksi sopivat regressio- ja kategoriset muuttujat. Näitä luokittelulehtiä on oltava vähintään yhtä monta kuin kategorioita, jotta järkevä ennustaminen on mahdollista.
Työssä tarkastellaan yksittäistä päätöspuuta, satunnaismetsää (Random forest) ja extreme gradient boosting (XGBoost) -menetelmää matemaattisesti sekä empiirisesti käyttäen Pythonia. Teoreettisessa osiossa käydään läpi rajoittamattoman päätöspuun matemaattinen perusta käyttäen gini-indeksiä. Yksittäiselle päätöspuulle etsitään sopiva hyperparametrin arvo, jonka tarkoitus on tehostaa suorituskykyä ja yksinkertaistaa puuta. Lisäksi tarkastellaan XGBoostin toimintaperiaatetta ja millaisia hyperparametreja XGBoost -menetelmään voidaan asettaa. Teoreettisen osan lopussa määritetään eri metriikoita, joilla arvioidaan mallien suorituskykyjä.
Empiirisessä osiossa data valittiin binääriluokitteluun sopivaksi, jossa riisinjyvän geometrian perusteella pyrittiin ennustamaan, että kuuluuko se Osmancik vai Cammeo -lajikkeeseen. Yksittäinen päätöspuumalli luotiin ilman rajoittavaa parametria, ja tämä malli tunnisti testidatasta 87,8 \% oikein (Accuracy). Päätöspuumalli luotiin myös käyttäen $ccp\_alpha$ -parametria, jolloin malli luokitteli oikein 93 \% testidatasta. Satunnaismetsä-mallissa koulutettiin sata rajoittamatonta päätöspuuta, jolloin tarkkuudeksi saatiin 92,5 \%. XGBoostissa suoritettiin yksinkertainen parametrien optimointi käyttäen sklearn -kirjaston GridSearchCV -funktiota, jolloin mallin tarkkuudeksi saatiin 93 \%. Kullekin mallille luotiin ROC-käyrä sekä laskettiin sekaannusmatriisien avulla myös muita luokitteluongelmissa yleisesti käytettyjä metriikoita. Tässä työssä parhaat mallit muodostivat XGBoost ja rajoitettu päätöspuu, jotka muodostivat identtiset sekaannusmatriisit.
Työssä tarkastellaan yksittäistä päätöspuuta, satunnaismetsää (Random forest) ja extreme gradient boosting (XGBoost) -menetelmää matemaattisesti sekä empiirisesti käyttäen Pythonia. Teoreettisessa osiossa käydään läpi rajoittamattoman päätöspuun matemaattinen perusta käyttäen gini-indeksiä. Yksittäiselle päätöspuulle etsitään sopiva hyperparametrin arvo, jonka tarkoitus on tehostaa suorituskykyä ja yksinkertaistaa puuta. Lisäksi tarkastellaan XGBoostin toimintaperiaatetta ja millaisia hyperparametreja XGBoost -menetelmään voidaan asettaa. Teoreettisen osan lopussa määritetään eri metriikoita, joilla arvioidaan mallien suorituskykyjä.
Empiirisessä osiossa data valittiin binääriluokitteluun sopivaksi, jossa riisinjyvän geometrian perusteella pyrittiin ennustamaan, että kuuluuko se Osmancik vai Cammeo -lajikkeeseen. Yksittäinen päätöspuumalli luotiin ilman rajoittavaa parametria, ja tämä malli tunnisti testidatasta 87,8 \% oikein (Accuracy). Päätöspuumalli luotiin myös käyttäen $ccp\_alpha$ -parametria, jolloin malli luokitteli oikein 93 \% testidatasta. Satunnaismetsä-mallissa koulutettiin sata rajoittamatonta päätöspuuta, jolloin tarkkuudeksi saatiin 92,5 \%. XGBoostissa suoritettiin yksinkertainen parametrien optimointi käyttäen sklearn -kirjaston GridSearchCV -funktiota, jolloin mallin tarkkuudeksi saatiin 93 \%. Kullekin mallille luotiin ROC-käyrä sekä laskettiin sekaannusmatriisien avulla myös muita luokitteluongelmissa yleisesti käytettyjä metriikoita. Tässä työssä parhaat mallit muodostivat XGBoost ja rajoitettu päätöspuu, jotka muodostivat identtiset sekaannusmatriisit.