Meerdere preprocess-methoden

Machine Learning met caret in R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

De brede wereld van preProcess

  • Er kan veel meer dan mediaan- of knn-imputatie!
  • Je kunt meerdere preprocess-stappen schakelen
  • Veelgebruikte “recept” voor lineaire modellen (volgorde telt!)
    • Mediaan-imputatie ⇒ centreren ⇒ schalen ⇒ glm fitten
  • Zie ?preProcess voor details
Machine Learning met caret in R

Voorbeeld: preprocessing mtcars

# Genereer data met missende waarden
data(mtcars)
set.seed(42)
mtcars[sample(1:nrow(mtcars), 10), "hp"] <- NA
Y <- mtcars$mpg
X <- mtcars[,2:4] # <- Missing at random
# Gebruik lineair model “recept”
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute")
)
print(min(model$results$RMSE))
3.612713
Machine Learning met caret in R

Voorbeeld: preprocessing mtcars

# PCA vóór modelleren
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "pca")
)
min(model$results$RMSE)
3.402557
Machine Learning met caret in R

Voorbeeld: preprocessing mtcars

# Spatial sign-transformatie
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "spatialSign")
)
min(model$results$RMSE)
4.284904
Machine Learning met caret in R

Preprocessing-cheatsheet

  • Begin met mediaan-imputatie
  • Probeer KNN-imputatie als missings niet willekeurig zijn
  • Voor lineaire modellen …
    • Centreer en schaal
    • Probeer PCA en spatial sign
  • Boommodellen hebben weinig preprocessing nodig
Machine Learning met caret in R

Laten we oefenen!

Machine Learning met caret in R

Preparing Video For Download...