Crea un modello Random Forest per i noleggi di biciclette
In questo esercizio costruirai di nuovo un modello per prevedere il numero di biciclette noleggiate in un'ora in funzione del meteo, del tipo di giorno (festivo, lavorativo o weekend) e dell'ora del giorno. Allenerai il modello sui dati del mese di luglio.
Userai il pacchetto ranger per adattare il modello di random forest. Per questo esercizio, gli argomenti principali della chiamata a ranger() (docs) sono:
formuladatanum.trees: il numero di alberi nella foresta.respect.unordered.factors: specifica come trattare le variabili fattoriali non ordinate. Per la regressione consigliamo di impostarlo su "order".seed: poiché si tratta di un algoritmo randomico, imposterai il seed per ottenere risultati riproducibili
Dato che ci sono molte variabili in input, per comodità specificheremo l'output e gli input nelle variabili outcome e vars,
E useremo paste() (docs) per assemblare una stringa che rappresenta la formula del modello.
Il data frame bikesJuly è stato precaricato. Il codice di esempio specifica i nomi della variabile di output e delle variabili di input.
Questo esercizio fa parte del corso
Supervised Learning in R: Regression
Istruzioni dell'esercizio
- Compila gli spazi vuoti per creare la formula
fmlache esprimecntin funzione degli input. Stampala. - Carica il pacchetto
ranger. - Usa
rangerper adattare un modello ai datibikesJuly:bike_model_rf.- Il primo argomento di
ranger()è la formula,fmla. - Usa 500 alberi e
respect.unordered.factors = "order". - Imposta il seed a
seedper risultati riproducibili. - Stampa il modello. Qual è l'R-squared?
- Il primo argomento di
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 = ___))