Former correctement un modèle

Apprentissage supervisé en R : régression

Nina Zumel and John Mount

Win-Vector, LLC

Les modèles performent souvent mieux à l'entraînement que sur de nouvelles données.

  • $R^2$ à l'entraînement : 0,9 ; $R^2$ au test : 0,15 — Surapprentissage
Apprentissage supervisé en R : régression

Division test/entraînement

Méthode recommandée quand les données sont abondantes

Apprentissage supervisé en R : régression

Exemple : modéliser le chômage chez les femmes

  • Entraîner sur 66 lignes, tester sur 30 lignes
Apprentissage supervisé en R : régression

Performance du modèle : entraînement vs test

  • Entraînement : RMSE 0,71, $R^2$ 0,8
  • Test : RMSE 0,93, $R^2$ 0,75
Apprentissage supervisé en R : régression

Validation croisée

À privilégier quand l'ensemble de données est trop petit pour garder un test séparé

Apprentissage supervisé en R : régression

Validation croisée

Apprentissage supervisé en R : régression

Validation croisée

Apprentissage supervisé en R : régression

Validation croisée

Apprentissage supervisé en R : régression

Créer un plan de validation croisée

library(vtreat)
splitPlan <- kWayCrossValidation(nRows, nSplits, NULL, NULL)
  • nRows : nombre de lignes dans les données d'entraînement
  • nSplits : nombre de plis (partitions) pour la validation croisée
    • p. ex., nfolds = 3 pour une validation en 3 volets
  • les 2 autres arguments ne sont pas nécessaires ici
Apprentissage supervisé en R : régression

Créer un plan de validation croisée

library(vtreat)
splitPlan <- kWayCrossValidation(10, 3, NULL, NULL)

Premier pli (A et B pour entraîner, C pour tester)

splitPlan[[1]]
$train
1  2  4  5  7  9 10
$app
3 6 8

Entraîner sur A et B, tester sur C, etc.

split <- splitPlan[[1]]
model <- lm(fmla, data = df[split$train,])
df$pred.cv[split$app] <- predict(model, newdata = df[split$app,])
Apprentissage supervisé en R : régression

Modèle final

Apprentissage supervisé en R : régression

Exemple : modèle de chômage

Type de mesure RMSE $R^2$
entraînement 0,7082675 0,8029275
test 0,9349416 0,7451896
validation croisée 0,8175714 0,7635331
Apprentissage supervisé en R : régression

Passons à la pratique !

Apprentissage supervisé en R : régression

Preparing Video For Download...