Sestavení modelu random forest pro půjčování kol
V tomto cvičení opět sestavíš model pro předpověď počtu půjčených kol za hodinu v závislosti na počasí, typu dne (svátek, pracovní den nebo víkend) a denní době. Model natrénuješ na datech z července.
K natrénování modelu random forest použiješ balíček ranger. Klíčové argumenty funkce ranger() (docs) jsou:
formuladatanum.trees: počet stromů v lese.respect.unordered.factors: určuje, jak se má zacházet s neuspořádanými faktory. Pro regresi doporučujeme nastavit na "order".seed: protože jde o náhodný algoritmus, nastavíš seed pro zajištění reprodukovatelných výsledků
Protože je vstupních proměnných hodně, pro přehlednost zadáme cílovou proměnnou a vstupy do proměnných outcome a vars
a pomocí paste() (docs) sestavíme řetězec reprezentující vzorec modelu.
Dataframe bikesJuly je už načtený. Ukázkový kód obsahuje názvy cílové a vstupních proměnných.
Toto cvičení je součástí kurzu
Supervised Learning in R: Regression
Pokyny k cvičení
- Doplň prázdná místa a vytvoř vzorec
fmlavyjadřujícícntjako funkci vstupů. Vypiš ho. - Načti balíček
ranger. - Pomocí
rangernatrénuj model na datechbikesJuly:bike_model_rf.- Prvním argumentem funkce
ranger()je vzorecfmla. - Použij 500 stromů a nastav
respect.unordered.factors = "order". - Nastav seed na hodnotu
seedpro reprodukovatelné výsledky. - Vypiš model. Jaká je hodnota R-squared?
- Prvním argumentem funkce
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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 = ___))