Bouw een random forest-model voor fietsverhuur
In deze oefening bouw je opnieuw een model om het aantal gehuurde fietsen per uur te voorspellen op basis van het weer, het soort dag (feestdag, werkdag of weekend) en het tijdstip van de dag. Je traint het model op gegevens van de maand juli.
Je gebruikt het pakket ranger om het random forest-model te fitten. Voor deze oefening zijn de belangrijkste argumenten van de aanroep ranger() (docs):
formuladatanum.trees: het aantal bomen in het bos.respect.unordered.factors: Bepaalt hoe je ongeordende factorvariabelen behandelt. We raden aan dit op "order" te zetten voor regressie.seed: omdat dit een willekeurig algoritme is, zet je de seed om reproduceerbare resultaten te krijgen
Omdat er veel invoervariabelen zijn, specificeren we voor het gemak de uitkomst en de inputs in de variabelen outcome en vars,
en gebruiken we paste() (docs) om een string samen te stellen die de modelformule weergeeft.
De data frame bikesJuly is al ingeladen. De voorbeeldcode specificeert de namen van de uitkomst- en invoervariabelen.
Deze oefening maakt deel uit van de cursus
Supervised Learning in R: Regressie
Oefeninstructies
- Vul de open plekken in om de formule
fmlate maken diecntuitdrukt als functie van de inputs. Print hem. - Laad het pakket
ranger. - Gebruik
rangerom een model te fitten op debikesJuly-gegevens:bike_model_rf.- Het eerste argument van
ranger()is de formule,fmla. - Gebruik 500 bomen en
respect.unordered.factors = "order". - Zet de seed op
seedvoor reproduceerbare resultaten. - Print het model. Wat is de R-squared?
- Het eerste argument van
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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 = ___))