Nhiều phương pháp tiền xử lý

Machine Learning với caret trong R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Thế giới preProcess

  • Có nhiều cách hơn ngoài điền trung vị hoặc KNN!
  • Có thể xâu chuỗi nhiều bước tiền xử lý
  • "Công thức" phổ biến cho mô hình tuyến tính (thứ tự quan trọng)
    • Điền trung vị ⇒ chuẩn hóa về 0 ⇒ chuẩn hóa thang ⇒ fit glm
  • Xem ?preProcess để biết thêm
Machine Learning với caret trong R

Ví dụ: tiền xử lý mtcars

# Tạo dữ liệu có giá trị khuyết
data(mtcars)
set.seed(42)
mtcars[sample(1:nrow(mtcars), 10), "hp"] <- NA
Y <- mtcars$mpg
X <- mtcars[,2:4] # <- Thiếu ngẫu nhiên
# Dùng "công thức" cho mô hình tuyến tính
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute")
)
print(min(model$results$RMSE))
3.612713
Machine Learning với caret trong R

Ví dụ: tiền xử lý mtcars

# PCA trước khi mô hình hóa
set.seed(42)
model <- train(
  X, Y, method = "glm",
  preProcess = c("center", "scale", "medianImpute", "pca")
)
min(model$results$RMSE)
3.402557
Machine Learning với caret trong R

Ví dụ: tiền xử lý mtcars

# Biến đổi 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 với caret trong R

Ghi chú nhanh về tiền xử lý

  • Bắt đầu với điền trung vị
  • Thử điền KNN nếu thiếu không ngẫu nhiên
  • Với mô hình tuyến tính...
    • Chuẩn hóa về 0 và chuẩn hóa thang
    • Thử PCA và spatial sign
  • Mô hình cây hầu như không cần tiền xử lý
Machine Learning với caret trong R

Ayo berlatih!

Machine Learning với caret trong R

Preparing Video For Download...