Kom igångKom igång gratis

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:

  • formula
  • data
  • num.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

Visa kurs

Övningsinstruktioner

  • Fyll i tomrummen för att skapa formeln fmla som uttrycker cnt som en funktion av indatavariablerna. Skriv ut den.
  • Läs in paketet ranger.
  • Använd ranger för att anpassa en modell till bikesJuly-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 seed för reproducerbara resultat.
    • Skriv ut modellen. Vad är R-kvadratvärdet?

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 = ___))
Redigera och kör kod