Metodi di preprocessing multipli

Machine Learning con caret in R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Il vasto mondo di preProcess

  • Puoi fare molto più della sola imputazione mediana o KNN!
  • Puoi concatenare più step di preprocessing
  • "Ricetta" comune per modelli lineari (l’ordine conta!)
    • Imputazione mediana ⇒ centrare ⇒ scalare ⇒ fit di glm
  • Vedi ?preProcess per dettagli
Machine Learning con caret in R

Esempio: preprocessing di mtcars

# Genera dati con valori mancanti
data(mtcars)
set.seed(42)
mtcars[sample(1:nrow(mtcars), 10), "hp"] <- NA
Y <- mtcars$mpg
X <- mtcars[,2:4] # <- Missing at random
# Usa la "ricetta" per modelli lineari
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute")
)
print(min(model$results$RMSE))
3.612713
Machine Learning con caret in R

Esempio: preprocessing di mtcars

# PCA prima del modello
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "pca")
)
min(model$results$RMSE)
3.402557
Machine Learning con caret in R

Esempio: preprocessing di mtcars

# Trasformazione 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 con caret in R

Preprocessing: promemoria rapido

  • Parti con imputazione mediana
  • Prova imputazione KNN se i dati non sono mancanti a caso
  • Per modelli lineari…
    • Centra e scala
    • Prova PCA e spatial sign
  • I modelli ad alberi richiedono poco preprocessing
Machine Learning con caret in R

Passiamo alla pratica !

Machine Learning con caret in R

Preparing Video For Download...