Apprentissage supervisé en R : Régression
Nina Zumel and John Mount
Win-Vector, LLC



Régularisation : taux d'apprentissage $\eta \in(0,1)$
$$ M_2 = M_1 + \eta \gamma T_2 $$

Modèle final :
$$ M = M_1 + \eta \sum \gamma_i T_i $$

L'erreur d'entraînement diminue, mais pas l'erreur de test
xgb.cv() avec un grand nombre d'itérations (arbres).xgb.cv() avec un grand nombre d'itérations (arbres).xgb.cv()$evaluation_log : enregistre le RMSE estimé à chaque itération.xgb.cv() avec un grand nombre d'itérations (arbres).xgb.cv()$evaluation_log : enregistre le RMSE estimé à chaque itération.xgboost(), avec nrounds = $n_{best}$D'abord, préparer les données
treatplan <- designTreatmentsZ(bikesJan, vars)
newvars <- treatplan$scoreFrame %>%
filter(code %in% c("clean", "lev")) %>%
use_series(varName)
bikesJan.treat <- prepare(treatplan, bikesJan, varRestriction = newvars)
Pour xgboost() :
as.matrix(bikesJan.treat)bikesJan$cntcv <- xgb.cv(data = as.matrix(bikesJan.treat), label = bikesJan$cnt,
objective = "reg:squarederror",
nrounds = 100, nfold = 5, eta = 0.3, max_depth = 6)
Entrées clés de xgb.cv() et xgboost()
data : données d'entrée au format matrice ; label : cibleobjective : pour la régression – "reg:squarederror"nrounds : nombre maximal d'arbres à ajustereta : taux d'apprentissagemax_depth : profondeur maximale des arbresnfold (seulement xgb.cv()) : nombre de plis pour la validation croisée
elog <- as.data.frame(cv$evaluation_log)
(nrounds <- which.min(elog$test_rmse_mean))
78
nrounds <- 78
model <- xgboost(data = as.matrix(bikesJan.treat),
label = bikesJan$cnt,
nrounds = nrounds,
objective = "reg:squarederror",
eta = 0.3,
max_depth = 6)
Préparer les données de février, puis prédire
bikesFeb.treat <- prepare(treatplan, bikesFeb, varRestriction = newvars)
bikesFeb$pred <- predict(model, as.matrix(bikesFeb.treat))
Performances du modèle sur les données de février
| Modèle | RMSE |
|---|---|
| Quasipoisson | 69.3 |
| Forêts aléatoires | 67.15 |
| Gradient Boosting | 54.0 |
Prédictions vs locations réelles de vélos, février

Prédictions et locations horaires de vélos, février

Apprentissage supervisé en R : Régression