Random forests

Aprendizaje supervisado en R: Regresión

Nina Zumel and John Mount

Win-Vector, LCC

Random Forests

Varios árboles de decisión diversos promediados

  • Reduce el sobreajuste
  • Aumenta la capacidad del modelo
  • Predicciones más finas
Aprendizaje supervisado en R: Regresión

Cómo construir un modelo Random Forest

  1. Toma una muestra bootstrap del conjunto de entrenamiento
  2. Para cada muestra, crece un árbol
    • En cada nodo, elige la mejor variable para dividir (de un subconjunto aleatorio de todas las variables)
    • Continúa hasta completar el árbol
  3. Para puntuar un dato, evalúalo con todos los árboles y promedia los resultados.
Aprendizaje supervisado en R: Regresión

Ejemplo: datos de alquiler de bicis

cnt ~ hr + holiday + workingday + 
  weathersit + temp + atemp + hum + windspeed

Aprendizaje supervisado en R: Regresión

Random Forests con ranger()

model <- ranger(fmla, bikesJan, 
                num.trees = 500, 
                respect.unordered.factors = "order")
  • formula, data
  • num.trees (por defecto 500): usa al menos 200
  • mtry: número de variables a probar en cada nodo
    • por defecto: raíz cuadrada del total de variables
  • respect.unordered.factors: se recomienda "order"
    • hash "seguro" de variables categóricas
Aprendizaje supervisado en R: Regresión

Random Forests con ranger()

model
Ranger result
...
OOB prediction error (MSE):       3103.623 
R squared (OOB):                  0.7837386

El algoritmo Random Forest devuelve estimaciones del rendimiento fuera de muestra.

Aprendizaje supervisado en R: Regresión

Predecir con un modelo de ranger()

bikesFeb$pred <- predict(model, bikesFeb)$predictions

Entradas de predict():

  • model
  • data

Las predicciones están en el elemento predictions.

Aprendizaje supervisado en R: Regresión

Evaluar el modelo

Calcular RMSE:

bikesFeb %>% 
  mutate(residual = cnt - pred) %>%
  summarize(rmse = sqrt(mean(residual^2)))
      rmse
1 67.15169
Modelo RMSE
Quasipoisson 69.3
Random forests 67.15
Aprendizaje supervisado en R: Regresión

Evaluar el modelo

Aprendizaje supervisado en R: Regresión

Evaluar el modelo

Aprendizaje supervisado en R: Regresión

¡Vamos a practicar!

Aprendizaje supervisado en R: Regresión

Preparing Video For Download...