• Ingen resultater fundet

Random Forest

In document Copenhagen Business School (Sider 72-77)

I dette afsnit vil Random Forest modellen, beskrevet i afsnit 3.4, blive implemente-ret. Modellen vil bruges til at prædiktere studerende som frafald eller ikke-frafald.

Først vil vi gennemgå den ubalancerede model med threshold 0.3 og 0.5. Efterføl-gende vil vi gennemgå den balancerede model med samme thresholds. Både for den ubalancerede og balancerede version af Random Forest vil vi finde de optimale Hy-perparametre ved at bruge gridsearch. For hver gridsearch vil der være en beskrivelse af hvilke hyperparametre, der bliver søgt efter og hvilke værdier der bliver afprøvet.

Til sidst plotter vi en ROC-kurve for begge modeller.

4.3.1 Ubalanceret Random Forest 4.3.1.1 Hyperparametre

Random Forest modellen dannes med hyperparametrene angivet i tabel 22. De opti-male værdier for max_depth, criterion,max_featuresog n_estimators væl-ges ved simultan gridsearch. Alle kombinationer af hyperparametrene bliver vurderet ved 5-fold cross-validation på deres AUC værdi.

For at begrænse tidsforbruget har vi valgt at køre flere gridserach sekventielt, da det ville tage for lang tid at teste alle hyperparameter kombinationerne på én gang.

Den sekventielle gridsearch laver flere gridsearch med få værdier for hver hyperpa-rameter. Den første gridsearch har store intervaller for hver hyperparameterværdi.

Resultatet af den første gridsearch giver en cirka størrelse for værdierne for hver hyperparameter. I den næste gridsearch kigger vi nærmere i omegnen af hyperpara-meterværdier fundet i den første gridsearch. Dette vil forstætte indtil hyperparame-trene ikke ændres.

For eksempel testede vimax_depthmed værdier fra 0 til 300 og steps på 50 i før-ste gridsearch. Det resulterede i en optimalmax_depthpå100. I anden gridsearch undersøgte vi omegnen af 100 formax_depthmed værdier fra 50 til 150 med steps på 25. Denne proces gentog vi indtil vi fandt den optimale værdi for max_depth på 80. På sammevis finder vi de optimale værdier for de øvrige hyperparametre for Random Forest. Resultatet for de sekventielle gridsearch kan ses i tabel 22.criterion blev sat til entropy efter første gridsearch, da det blev vurderet som det optimale kriterium for renhed. Værdierne for min_samples_split, min_samples_leaf, max_leaf_nodes, min_impurity_decrease og max_samples sættes, så de

ikke begrænser modellen. Antallet af træer,n_estimators, sættes til 300. Desuden sættes max_features til 54, det vil sige maksimum af 54 variable vil tilfældigt blive udtrukket ved hvert split.

Hyperparameter Værdi

max_depth 80

random_state 1000

bootstrap True

criterion ’entropy’

max_features 54

n_estimators 300

min_samples_split None ( = ingen early stopping)

min_samples_leaf 1

max_leaf_nodes None ( = intet maksimum)

min_impurity_decrease 0

max_samples None ( = n)

Tabel 22: Beskrivelse af Hyperparametre for ubalanceret Random Forest

4.3.1.2 Klassifikationsresultater

Vi konstruerer en Random Forest model ved at bruge hyperparametrene fra tabel 22.

Modellens klassifikationsperformance, ved threshold 0.3 og 0.5 på testdatasættet, illustreres henholdsvis i tabel 23a og 23b.

Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 861 84

Frafald 180 246

(a) Threshold 0.3

Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 1005 173

Frafald 36 157

(b) Threshold 0.5 Tabel 23: Confusion Matrix: Ubalanceret Random Forset

accuracy0.3 = 0.8074 accuracy0.5 = 0.8476

Generelt prædikterer Random Forest modellen flest ikke-frafald. Ved at sænke thres-hold til 0.3 vil modellen prædiktere flere frafald. Her vil størstedelen af fejlprædik-tioner være ikke-frafald, som prædikteres som frafald. Med threshold 0.5 vil største-delen af fejlprædiktionerne være frafald, som prædikteres som ikke-frafald. Den høje fejlprædiktion af ikke-frafald ved threshold 0.3 leder til en lavere modelaccuracy.

Klassifikations Ikke-frafald Frafald Samlet Parametre(threshold)

precision(0.3) 0.91 0.58 0.74

recall(0.3) 0.83 0.75 0.79

f1-score(0.3) 0.87 0.65 0.76

precision(0.5) 0.85 0.81 0.83

recall(0.5) 0.97 0.48 0.72

f1-score(0.5) 0.91 0.60 0.75

Tabel 24: Performance: Ubalanceret Random Forest

Random Forest modellens performance er væsentligt bedre end de logistisk modeller.

For threshold 0.5 erf1-scoren for prædiktion af ikke-frafald 0.91.Precision er næsten ens for de to klasser, selvom recall for ikke-frafald er dobbelt så højt sammenlignet med ikke-frafald.

For et threshold på 0.3 får vi en højere precision på 0.91 og lavere recall for ikke-frafald. Dette er det samme mønster, som vi observerede ved at sænke threshold for logistisk regressionsmodeller.

For prædiktion af frafald gælder det omvendte. Precision falder, da generelt flere prædikteres som frafald. Dog stigerrecall for frafald til 0.75.

Ligesom for de logistiske modeller implementerer vi også en balanceret version af Random Forest modellen.

4.3.2 Balanceret Random Forest 4.3.2.1 Hyperparmatre

Hyperparameter Værdi

max_depth 33

random_state 1000 bootstrap True

criterion ’entropy’

max_features 80 n_estimators 600

class_weight "balanced"

Tabel 25: Beskrivelse af Hyperparametre for balanceret Random Forest

For at håndtere ubalancen i datasættet tilføjes en ny hyperparameter,class_weight, som sættes til "balanced". For den balancerede Random Forest model laves en grid-search for hyperparametrenemax_depth,criterion,max_featuresogn_estimators. Denne gridsearch er lavet på samme sekventielle måde som i afsnit 4.3.1.1. Tabel 25 indeholder hyperparametrene for den balancerede model. Her ses at kortere træer,

flere variable og flere klassifikationstræer medfører højere AUC for den balancerede model. Alle andre hyperparametre er sat til samme værdier som ved den ubalance-rede model i afsnit 25.

4.3.2.2 Klassifikationsresultater

Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 861 79

Frafald 180 251

(a) Threshold 0.3

Faktisk Ikke-frafald Frafald Prædiktion Ikke-frafald 1000 160

Frafald 41 170

(b) Threshold 0.5 Tabel 26: Confusion Matrix: Balanceret Random Forset

Tabel 26a og 26b illustrerer Random Forest prædiktionerne på testdatasættet hen-holdsvis ved brug af threshold0.3og0.5. Det ses af denne tabel, at den balancerede model generelt er god til at prædiktere frafald. Ved brug af threshold 0.5 fejlklassi-ficerer modellen flest frafald, hvor størstdelen af antallet af ikke-frafald prædikteres korrekt. Når vi bruger threshold 0.3 vil modellen generelt klassificere flere frafald.

Det ses også, at færre ikke-frafald er prædikteret korrekt sammenlignet med thres-hold 0.5. Dette er ogsåudtrykt i accuracy, som falder fra 0.8534 til 0.8111.

accuracy0.3 = 0.8111 accuracy0.5 = 0.8534

Generelt er den balancerede model bedre til at prædiktere frafald sammenlignet med den ikke-balancerede model.

Klassifikations Ikke-frafald Frafald Samlet Parametre(threshold)

precision(0.3) 0.92 0.58 0.75

recall(0.3) 0.83 0.76 0.79

f1-score(0.3) 0.87 0.66 0.76

precision(0.5) 0.86 0.81 0.83

recall(0.5) 0.96 0.52 0.74

f1-score(0.5) 0.91 0.63 0.77

Tabel 27: Performance: Balanceret Random Forest

Performancemål for balanceret Random Forest ses i tabel 27. For threshold 0.5 er recall højere for ikke-frafald end for frafald. Modellen opnår også en højere preci-sion for ikke-frafald. Ligesom i den ubalancerede version af Random Forest vil den balancerede version også opnå højere precision for ikke-frafald ved threshold 0.3. Ved treshold 0.5 opnår modellen en samlet f1-score, som er marginalt bedre end ved threshold0.3. Den balancerede version af Random Forest opnår generelt bedre

performance end den ubalancerede version.

4.3.3 Receiver Operating Characteristic (ROC)

Figur 17: ROC-kurve for ubalanceret og balanceret Random Forest

Figur 17 illustrerer ROC-kurven for den ubalancerede og balancerede Random Fo-rest. Som tidligere nævnt er performance for disse modeller bedre end hver af de logistiske regressionsmodeller. Den højeste AUC vi opnår med logistisk regression er0.6688, hvor den ubalanceret Random Forest opnår en AUC på 0.8696. Desuden er AUC for den balancerede version lidt højere end for den ubalancerede version.

4.3.4 Sammenfatning

Random Forest modellen er en klar forbedring sammenlignet med de logistiske re-gressionsmodeller. Det ses, at balancering af modellen forbedrer prædiktionen gene-relt, da den prædikterer flere frafald.

Et lavere treshold medfører højereprecision men lavererecall for ikke-frafald. Deru-dover vil modellen, ved det lavere threshold, prædiktere flere frafald. Prædiktion af frafald vil have lavereprecision, da flere studerende prædikteres som frafald. Både en balancering af modellen og et lavere threshold kan bruges til at håndtere ubalancen i datasættet.

I næste afsnit vil vi implementere XGboost.

In document Copenhagen Business School (Sider 72-77)