Wiele metod przetwarzania wstępnego

Uczenie maszynowe z caret w R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Możliwości funkcji preProcess

  • Można zrobić znacznie więcej niż imputacja medianą lub knn!
  • Możliwe łączenie wielu kroków przetwarzania wstępnego
  • Typowy "przepis" dla modeli liniowych (kolejność ma znaczenie!)
    • Imputacja medianą ⇒ centrowanie ⇒ skalowanie ⇒ dopasowanie glm
  • Zob. ?preProcess, aby uzyskać więcej szczegółów
Uczenie maszynowe z caret w R

Przykład: przetwarzanie wstępne 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
Uczenie maszynowe z caret w R

Przykład: przetwarzanie wstępne 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
Uczenie maszynowe z caret w R

Przykład: przetwarzanie wstępne 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
Uczenie maszynowe z caret w R

Ściągawka z przetwarzania wstępnego

  • Zacznij od imputacji medianą
  • Wypróbuj imputację KNN, jeśli braki nie są losowe
  • Dla modeli liniowych ...
    • Centrowanie i skalowanie
    • Wypróbuj PCA i transformację spatial sign
  • Modele drzewiaste wymagają minimalnego przetwarzania wstępnego
Uczenie maszynowe z caret w R

Czas na ćwiczenia!

Uczenie maszynowe z caret w R

Preparing Video For Download...