ÎncepețiÎncepe gratuit

Construiește un model random forest pentru închirierea bicicletelor

În acest exercițiu, vei construi din nou un model pentru a prezice numărul de biciclete închiriate într-o oră, în funcție de condițiile meteo, tipul zilei (zi liberă, zi lucrătoare sau weekend) și ora din zi. Vei antrena modelul pe date din luna iulie.

Vei folosi pachetul ranger pentru a antrena modelul random forest. Argumentele principale ale apelului ranger() (docs) sunt:

  • formula
  • data
  • num.trees: numărul de arbori din pădure.
  • respect.unordered.factors: specifică modul în care sunt tratate variabilele factor neordonate. Îți recomandăm să setezi această valoare la "order" pentru regresie.
  • seed: deoarece este un algoritm aleatoriu, vei seta seed-ul pentru a obține rezultate reproductibile

Deoarece există multe variabile de intrare, pentru simplitate vom specifica variabila de ieșire și variabilele de intrare în outcome și vars, și vom folosi paste() (docs) pentru a construi un șir de caractere care reprezintă formula modelului.

Dataframe-ul bikesJuly a fost pre-încărcat. Codul exemplu specifică numele variabilelor de ieșire și de intrare.

Acest exercițiu face parte din cursul

Învățare supervizată în R: Regresia

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează spațiile libere pentru a crea formula fmla care exprimă cnt ca funcție a variabilelor de intrare. Afișeaz-o.
  • Încarcă pachetul ranger.
  • Folosește ranger pentru a antrena un model pe datele bikesJuly: bike_model_rf.
    • Primul argument al funcției ranger() este formula, fmla.
    • Folosește 500 de arbori și respect.unordered.factors = "order".
    • Setează seed-ul la seed pentru rezultate reproductibile.
    • Afișează modelul. Care este valoarea R-squared?

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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 = ___))
Editează și rulează codul