Flera förbehandlingsmetoder

Maskininlärning med caret i R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

preProcess – en bred verktygslåda

  • Det finns mycket mer än median- eller knn-imputering!
  • Kedja ihop flera förbehandlingssteg
  • Vanligt "recept" för linjära modeller (ordningen spelar roll!)
    • Medianimputering ⇒ centrera ⇒ skala ⇒ anpassa glm
  • Se ?preProcess för mer information
Maskininlärning med caret i R

Exempel: förbehandling av mtcars

# Generate some data with missing values
data(mtcars)
set.seed(42)
mtcars[sample(1:nrow(mtcars), 10), "hp"] <- NA
Y <- mtcars$mpg
X <- mtcars[,2:4] # <- Missing at random
# Use linear model "recipe"
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute")
)
print(min(model$results$RMSE))
3.612713
Maskininlärning med caret i R

Exempel: förbehandling av mtcars

# PCA before modeling
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "pca")
)
min(model$results$RMSE)
3.402557
Maskininlärning med caret i R

Exempel: förbehandling av mtcars

# Spatial sign transform
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "spatialSign")
)
min(model$results$RMSE)
4.284904
Maskininlärning med caret i R

Snabbguide för förbehandling

  • Börja med medianimputering
  • Prova KNN-imputering om data saknas på ett icke-slumpmässigt sätt
  • För linjära modeller ...
    • Centrera och skala
    • Prova PCA och spatial sign
  • Trädbaserade modeller kräver lite förbehandling
Maskininlärning med caret i R

Nu kör vi en övning!

Maskininlärning med caret i R

Preparing Video For Download...