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:
formuladatanum.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
Instrucțiuni pentru exercițiu
- Completează spațiile libere pentru a crea formula
fmlacare exprimăcntca funcție a variabilelor de intrare. Afișeaz-o. - Încarcă pachetul
ranger. - Folosește
rangerpentru a antrena un model pe datelebikesJuly: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
seedpentru rezultate reproductibile. - Afișează modelul. Care este valoarea R-squared?
- Primul argument al funcției
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 = ___))