ComeçarComece de graça

Construa um modelo de random forest para aluguel de bicicletas

Neste exercício, você vai novamente construir um modelo para prever o número de bicicletas alugadas em uma hora em função do clima, do tipo de dia (feriado, dia útil ou fim de semana) e do horário do dia. Você vai treinar o modelo com dados do mês de julho.

Você usará o pacote ranger para ajustar o modelo de random forest. Para este exercício, os principais argumentos da chamada ranger() (docs) são:

  • formula
  • data
  • num.trees: o número de árvores na floresta.
  • respect.unordered.factors : especifica como tratar variáveis fator não ordenadas. Recomendamos definir como "order" para regressão.
  • seed: como este é um algoritmo aleatório, você definirá a semente para obter resultados reprodutíveis

Como há muitas variáveis de entrada, por conveniência vamos especificar o desfecho e as entradas nas variáveis outcome e vars, e usar paste() (docs) para montar uma string que representa a fórmula do modelo.

O data frame bikesJuly já foi carregado. O código de exemplo especifica os nomes das variáveis de desfecho e de entrada.

Este exercício faz parte do curso

Aprendizado Supervisionado em R: Regressão

Ver curso

Instruções do exercício

  • Preencha as lacunas para criar a fórmula fmla expressando cnt como uma função das entradas. Imprima-a.
  • Carregue o pacote ranger.
  • Use ranger para ajustar um modelo aos dados de bikesJuly: bike_model_rf.
    • O primeiro argumento de ranger() é a fórmula, fmla.
    • Use 500 árvores e respect.unordered.factors = "order".
    • Defina a semente como seed para obter resultados reprodutíveis.
    • Imprima o modelo. Qual é o R-squared?

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código