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:
formuladatanum.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
Instrukcje do ćwiczenia
- Uzupełnij luki, aby utworzyć formułę
fmlawyrażającącntjako funkcję zmiennych wejściowych. Wyświetl ją. - Wczytaj pakiet
ranger. - Za pomocą
rangerdopasuj model do danychbikesJuly:bike_model_rf.- Pierwszym argumentem
ranger()jest formułafmla. - 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?
- Pierwszym argumentem
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 = ___))