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 existe bien plus que l'imputation par la médiane ou knn !
  • Chaîner plusieurs étapes de prétraitement est possible
  • « Recette » courante pour les modèles linéaires (l'ordre compte !)
    • Imputation médiane → centrage → mise à l'échelle → ajuster glm
  • Voir ?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 au hasard
# Utiliser la « recette » 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 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 du prétraitement

  • Commencer par l'imputation médiane
  • Essayer l'imputation KNN si les données ne sont pas manquantes au hasard
  • Pour les modèles linéaires :
    • Centrer et mettre à l'échelle
    • Tester ACP et spatial sign
  • Les modèles 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...