Vários métodos de pré-processamento

Machine Learning com caret em R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

O vasto mundo de preProcess

  • Dá para ir além de imputação por mediana ou KNN!
  • É possível encadear várias etapas de pré-processamento
  • "Receita" comum para modelos lineares (a ordem importa!)
    • Mediana ⇒ centralizar ⇒ padronizar ⇒ ajustar glm
  • Veja ?preProcess para mais detalhes
Machine Learning com caret em R

Exemplo: pré-processando mtcars

# Gerar alguns dados com valores ausentes
data(mtcars)
set.seed(42)
mtcars[sample(1:nrow(mtcars), 10), "hp"] <- NA
Y <- mtcars$mpg
X <- mtcars[,2:4] # <- Ausente ao acaso
# Usar a "receita" de modelo linear
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute")
)
print(min(model$results$RMSE))
3.612713
Machine Learning com caret em R

Exemplo: pré-processando mtcars

# PCA antes de modelar
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "pca")
)
min(model$results$RMSE)
3.402557
Machine Learning com caret em R

Exemplo: pré-processando mtcars

# Transformação 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 com caret em R

Pré-processamento: guia rápido

  • Comece com imputação por mediana
  • Tente imputação por KNN se dados não faltam ao acaso
  • Para modelos lineares...
    • Centralize e padronize
    • Experimente PCA e spatial sign
  • Modelos baseados em árvores quase não precisam de pré-processamento
Machine Learning com caret em R

Vamos praticar!

Machine Learning com caret em R

Preparing Video For Download...