Lasy losowe

Nadzorowane uczenie maszynowe w R: regresja

Nina Zumel and John Mount

Win-Vector, LCC

Lasy losowe

Wiele zróżnicowanych drzew decyzyjnych uśrednionych razem

  • Zmniejsza nadmierne dopasowanie
  • Zwiększa ekspresywność modelu
  • Dokładniejsze predykcje
Nadzorowane uczenie maszynowe w R: regresja

Budowanie modelu lasu losowego

  1. Pobierz próbkę bootstrapową z danych treningowych
  2. Dla każdej próbki zbuduj drzewo
    • W każdym węźle wybierz najlepszą zmienną do podziału (z losowego podzbioru wszystkich zmiennych)
    • Kontynuuj aż drzewo zostanie zbudowane
  3. Aby ocenić obserwację, oceń ją za pomocą wszystkich drzew i uśrednij wyniki.
Nadzorowane uczenie maszynowe w R: regresja

Przykład: dane dotyczące wypożyczalni rowerów

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

Nadzorowane uczenie maszynowe w R: regresja

Lasy losowe z ranger()

model <- ranger(fmla, bikesJan, 
                num.trees = 500, 
                respect.unordered.factors = "order")
  • formula, data
  • num.trees (domyślnie 500) — należy użyć co najmniej 200
  • mtry — liczba zmiennych testowanych w każdym węźle
    • domyślnie: pierwiastek kwadratowy z łącznej liczby zmiennych
  • respect.unordered.factors — zalecane ustawienie: "order"
    • "bezpieczne" kodowanie zmiennych kategorycznych
Nadzorowane uczenie maszynowe w R: regresja

Lasy losowe z ranger()

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

Algorytm lasu losowego zwraca szacunkowe miary wydajności pozapróbkowej.

Nadzorowane uczenie maszynowe w R: regresja

Predykcja za pomocą modelu ranger()

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

predict() — argumenty:

  • model
  • dane

Predykcje są dostępne w elemencie predictions.

Nadzorowane uczenie maszynowe w R: regresja

Ocena modelu

Obliczenie RMSE:

bikesFeb %>% 
  mutate(residual = cnt - pred) %>%
  summarize(rmse = sqrt(mean(residual^2)))
      rmse
1 67.15169
Model RMSE
Quasipoisson 69.3
Lasy losowe 67.15
Nadzorowane uczenie maszynowe w R: regresja

Ocena modelu

Nadzorowane uczenie maszynowe w R: regresja

Ocena modelu

Nadzorowane uczenie maszynowe w R: regresja

Czas na ćwiczenia!

Nadzorowane uczenie maszynowe w R: regresja

Preparing Video For Download...