Pas een model toe om aantallen fietsverhuur te voorspellen
In deze oefening bouw je een model om het aantal fietsen dat per uur wordt verhuurd te voorspellen op basis van het weer, het type dag (feestdag, werkdag of weekend) en het tijdstip van de dag. Je traint het model op gegevens uit de maand juli.
Het data frame heeft de kolommen:
cnt: het aantal verhuurde fietsen in dat uur (de uitkomst)hr: het uur van de dag (0–23, als factor)holiday: TRUE/FALSEworkingday: TRUE als het geen feestdag en geen weekend is, anders FALSEweathersit: categorisch, "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: genormaliseerde temperatuur in graden Celsiusatemp: genormaliseerde gevoelstemperatuur in graden Celsiushum: genormaliseerde luchtvochtigheidwindspeed: genormaliseerde windsnelheidinstant: de tijdindex — aantal uren sinds het begin van de gegevensset (geen variabele)mnthenyr: maand- en jaarindices (geen variabelen)
Onthoud dat je family = poisson of family = quasipoisson moet opgeven wanneer je glm() (docs) gebruikt om een telmodel te fitten.
Omdat er veel invoervariabelen zijn, specificeren we voor het gemak de uitkomst en de inputs in variabelen,
en gebruiken we paste() (docs) om een string samen te stellen die de modelformule vertegenwoordigt.
Het data frame bikesJuly is beschikbaar. De namen van de uitkomstvariabele en de invoervariabelen zijn ook geladen als de variabelen outcome en vars.
Deze oefening maakt deel uit van de cursus
Supervised Learning in R: Regressie
Oefeninstructies
- Vul de lege plekken in om de formule
fmlate maken diecntals functie van de inputs weergeeft. Print hem. - Bereken het gemiddelde (
mean()) en de variantie (var()) vanbikesJuly$cnt.- Moet je poisson- of quasipoisson-regressie gebruiken?
- Gebruik
glm()om een model te fitten op debikesJuly-gegevens:bike_model. - Gebruik
glance()om naar de fitstatistieken van het model te kijken. Ken de output vanglance()toe aan de variabeleperf. - Bereken de pseudo-R-kwadraat van het model.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# bikesJuly is available
str(bikesJuly)
# The outcome column
outcome
# The inputs to use
vars
# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))
# Calculate the mean and variance of the outcome
(mean_bikes <- ___)
(var_bikes <- ___)
# Fit the model
bike_model <- ___
# Call glance
(perf <- ___)
# Calculate pseudo-R-squared
(pseudoR2 <- ___)