Bien entraîner un modèle

Apprentissage supervisé en R : Régression

Nina Zumel and John Mount

Win-Vector, LLC

Les modèles peuvent beaucoup mieux réussir sur l’apprentissage que sur de nouvelles données.

  • $R^2$ apprentissage : 0,9 ; $R^2$ test : 0,15 — Surapprentissage
Apprentissage supervisé en R : Régression

Découpage test/apprentissage

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

Apprentissage supervisé en R : Régression

Exemple : modéliser le chômage féminin

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

Performance du modèle : apprentissage vs test

  • Apprentissage : 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 dégager un jeu de test

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’apprentissage
  • nSplits : nombre de plis (partitions) pour la validation croisée
    • par ex. : nfolds = 3 pour une validation croisée en 3 plis
  • les 2 autres arguments ne sont pas utiles 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$
apprentissage 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...