Zacznij terazZacznij za darmo

Zbuduj model lasu losowego do prognozowania wypożyczeń rowerów

W tym ćwiczeniu ponownie zbudujesz model przewidujący liczbę wypożyczonych rowerów w ciągu godziny – w zależności od warunków pogodowych, rodzaju dnia (święto, dzień roboczy lub weekend) oraz pory dnia. Model wytrenuj na danych z lipca.

Do dopasowania modelu lasu losowego użyjesz pakietu ranger. W tym ćwiczeniu kluczowe argumenty wywołania ranger() (dokumentacja) to:

  • formula
  • data
  • num.trees: liczba drzew w lesie.
  • respect.unordered.factors: określa sposób traktowania nieuporządkowanych zmiennych czynnikowych. W przypadku regresji zalecamy ustawienie wartości "order".
  • seed: ponieważ algorytm jest losowy, ustaw ziarno, aby uzyskać powtarzalne wyniki.

Ponieważ zmiennych wejściowych jest wiele, dla wygody zapiszemy zmienną objaśnianą i zmienne wejściowe odpowiednio w outcome i vars, a następnie użyjemy funkcji paste() (dokumentacja), aby złożyć łańcuch znaków reprezentujący formułę modelu.

Ramka danych bikesJuly jest już wczytana. Przykładowy kod określa nazwy zmiennej objaśnianej i zmiennych wejściowych.

To ćwiczenie jest częścią kursu

Nadzorowane uczenie maszynowe w R: regresja

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij luki, aby utworzyć formułę fmla wyrażającą cnt jako funkcję zmiennych wejściowych. Wyświetl ją.
  • Wczytaj pakiet ranger.
  • Za pomocą ranger dopasuj model do danych bikesJuly: bike_model_rf.
    • Pierwszym argumentem ranger() jest formuła fmla.
    • Użyj 500 drzew i ustaw respect.unordered.factors = "order".
    • Ustaw ziarno na seed, aby wyniki były powtarzalne.
    • Wyświetl model. Jaka jest wartość R-kwadrat?

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# bikesJuly is available
str(bikesJuly)

# Random seed to reproduce results
seed

# The outcome column
(outcome <- "cnt")

# The input variables
(vars <- c("hr", "holiday", "workingday", "weathersit", "temp", "atemp", "hum", "windspeed"))

# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))

# Load the package ranger
___

# Fit and print the random forest model
(bike_model_rf <- ranger(___, # formula 
                         ___, # data
                         num.trees = ___, 
                         respect.unordered.factors = ___, 
                         seed = ___))
Edytuj i uruchom kod