Bygg en random forest-modell för cykeluthyrning
I den här övningen bygger du återigen en modell för att förutsäga antalet uthyrda cyklar per timme, baserat på väder, typ av dag (helgdag, arbetsdag eller helg) och tid på dygnet. Du tränar modellen på data från juli månad.
Du använder paketet ranger för att anpassa random forest-modellen. De viktigaste argumenten till ranger() (docs) är:
formuladatanum.trees: antal träd i skogen.respect.unordered.factors: anger hur oordnade faktorsvariabler ska hanteras. Vi rekommenderar att du sätter detta till "order" för regression.seed: eftersom det här är en slumpmässig algoritm sätter du seed för att få reproducerbara resultat
Eftersom det finns många indatavariabler anger vi av praktiska skäl utfallet och indatavariablerna i variablerna outcome och vars, och använder paste() (docs) för att sätta ihop en sträng som representerar modellformeln.
Dataramen bikesJuly är förinläst. Exempelkoden anger namnen på utfalls- och indatavariablerna.
Den här övningen är en del av kursen
Övervakad inlärning i R: Regression
Övningsinstruktioner
- Fyll i tomrummen för att skapa formeln
fmlasom uttryckercntsom en funktion av indatavariablerna. Skriv ut den. - Läs in paketet
ranger. - Använd
rangerför att anpassa en modell tillbikesJuly-data:bike_model_rf.- Det första argumentet till
ranger()är formeln,fmla. - Använd 500 träd och
respect.unordered.factors = "order". - Sätt seed till
seedför reproducerbara resultat. - Skriv ut modellen. Vad är R-kvadratvärdet?
- Det första argumentet till
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 = ___))