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:
formuladatanum.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
Instruções do exercício
- Preencha as lacunas para criar a fórmula
fmlaexpressandocntcomo uma função das entradas. Imprima-a. - Carregue o pacote
ranger. - Use
rangerpara ajustar um modelo aos dados debikesJuly:bike_model_rf.- O primeiro argumento de
ranger()é a fórmula,fmla. - Use 500 árvores e
respect.unordered.factors = "order". - Defina a semente como
seedpara obter resultados reprodutíveis. - Imprima o modelo. Qual é o R-squared?
- O primeiro argumento de
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 = ___))