Plusieurs méthodes de prétraitement

Machine Learning avec caret en R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Le vaste monde de preProcess

  • Il y a bien plus que l'imputation par la médiane ou KNN !
  • Enchaînez plusieurs étapes de prétraitement
  • « Recette » courante pour les modèles linéaires (l'ordre compte !)
    • Imputation médiane ⇒ centrage ⇒ mise à l'échelle ⇒ ajuster glm
  • Voyez ?preProcess pour plus de détails
Machine Learning avec caret en R

Exemple : prétraiter mtcars

# Générer des données avec des valeurs manquantes
data(mtcars)
set.seed(42)
mtcars[sample(1:nrow(mtcars), 10), "hp"] <- NA
Y <- mtcars$mpg
X <- mtcars[,2:4] # <- Manquant aléatoirement
# Utiliser la « recette » pour modèle linéaire
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute")
)
print(min(model$results$RMSE))
3.612713
Machine Learning avec caret en R

Exemple : prétraiter mtcars

# ACP avant la modélisation
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "pca")
)
min(model$results$RMSE)
3.402557
Machine Learning avec caret en R

Exemple : prétraiter mtcars

# Transformation « spatial sign »
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "spatialSign")
)
min(model$results$RMSE)
4.284904
Machine Learning avec caret en R

Aide-mémoire : prétraitement

  • Commencez par l'imputation médiane
  • Essayer l'imputation KNN si les données ne sont pas manquantes aléatoirement
  • Pour les modèles linéaires…
    • Centrer et mettre à l'échelle
    • Essayer l'ACP et « spatial sign »
  • Les modèles à base d'arbres exigent peu de prétraitement
Machine Learning avec caret en R

Passons à la pratique !

Machine Learning avec caret en R

Preparing Video For Download...