Random forests

Övervakad inlärning i R: Regression

Nina Zumel and John Mount

Win-Vector, LCC

Random Forests

Flera olika beslutsträd kombineras och medelvärdesbildas

  • Minskar överanpassning
  • Ökar modellens uttrycksförmåga
  • Mer finkornade prediktioner
Övervakad inlärning i R: Regression

Bygga en Random Forest-modell

  1. Dra ett bootstrappat urval från träningsdata
  2. Bygg ett träd för varje urval
    • Vid varje nod väljs den bästa variabeln att dela på (från en slumpmässig delmängd av alla variabler)
    • Fortsätt tills trädet är färdigbyggt
  3. För att poängsätta ett datapunkt utvärderas den med alla träd och resultaten medelvärdesbildas.
Övervakad inlärning i R: Regression

Exempel: Cykeluthyrningsdata

cnt ~ hr + holiday + workingday + 
  weathersit + temp + atemp + hum + windspeed

Övervakad inlärning i R: Regression

Random Forests med ranger()

model <- ranger(fmla, bikesJan, 
                num.trees = 500, 
                respect.unordered.factors = "order")
  • formula, data
  • num.trees (standard 500) – använd minst 200
  • mtry – antal variabler att testa vid varje nod
    • standard: kvadratroten av det totala antalet variabler
  • respect.unordered.factors – rekommenderas sättas till "order"
    • "säker" hashning av kategoriska variabler
Övervakad inlärning i R: Regression

Random Forests med ranger()

model
Ranger result
...
OOB prediction error (MSE):       3103.623 
R squared (OOB):                  0.7837386

Random forest-algoritmen returnerar uppskattningar av prestanda utanför stickprovet.

Övervakad inlärning i R: Regression

Predicera med en ranger()-modell

bikesFeb$pred <- predict(model, bikesFeb)$predictions

Indata till predict():

  • modell
  • data

Prediktionerna nås via elementet predictions.

Övervakad inlärning i R: Regression

Utvärdera modellen

Beräkna RMSE:

bikesFeb %>% 
  mutate(residual = cnt - pred) %>%
  summarize(rmse = sqrt(mean(residual^2)))
      rmse
1 67.15169
Modell RMSE
Quasipoisson 69,3
Random forests 67,15
Övervakad inlärning i R: Regression

Utvärdera modellen

Övervakad inlärning i R: Regression

Utvärdera modellen

Övervakad inlärning i R: Regression

Nu kör vi en övning!

Övervakad inlärning i R: Regression

Preparing Video For Download...