IniziaInizia gratis

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:

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

Visualizza il corso

Istruzioni dell'esercizio

  • Compila gli spazi vuoti per creare la formula fmla che esprime cnt in funzione degli input. Stampala.
  • Carica il pacchetto ranger.
  • Usa ranger per adattare un modello ai dati bikesJuly: bike_model_rf.
    • Il primo argomento di ranger() è la formula, fmla.
    • Usa 500 alberi e respect.unordered.factors = "order".
    • Imposta il seed a seed per risultati riproducibili.
    • Stampa il modello. Qual è l'R-squared?

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 = ___))
Modifica ed esegui il codice