EmpezarEmpieza gratis

Crea un modelo de random forest para los alquileres de bicicletas

En este ejercicio, volverás a crear un modelo para predecir el número de bicicletas alquiladas en una hora en función del tiempo, el tipo de día (festivo, laborable o fin de semana) y la hora del día. Entrenarás el modelo con datos del mes de julio.

Usarás el paquete ranger para ajustar el modelo de random forest. Para este ejercicio, los argumentos clave de la llamada a ranger() (docs) son:

  • formula
  • data
  • num.trees: el número de árboles en el bosque.
  • respect.unordered.factors : especifica cómo tratar las variables factor no ordenadas. Recomendamos establecerlo en "order" para regresión.
  • seed: como este es un algoritmo aleatorio, establecerás la semilla para obtener resultados reproducibles

Como hay muchas variables de entrada, por comodidad especificaremos el resultado y las entradas en las variables outcome y vars, y usaremos paste() (docs) para construir una cadena que represente la fórmula del modelo.

El data frame bikesJuly ya está precargado. El código de ejemplo especifica los nombres de la variable objetivo y de las variables de entrada.

Este ejercicio forma parte del curso

Aprendizaje supervisado en R: Regresión

Ver curso

Instrucciones del ejercicio

  • Rellena los huecos para crear la fórmula fmla que exprese cnt como función de las entradas. Imprímela.
  • Carga el paquete ranger.
  • Usa ranger para ajustar un modelo con los datos de bikesJuly: bike_model_rf.
    • El primer argumento de ranger() es la fórmula, fmla.
    • Usa 500 árboles y respect.unordered.factors = "order".
    • Establece la semilla a seed para obtener resultados reproducibles.
    • Imprime el modelo. ¿Cuál es el R-squared?

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 = ___))
Editar y ejecutar código