Giới thiệu glmnet

Machine Learning với caret trong R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Giới thiệu glmnet

  • Mở rộng mô hình glm với chọn biến tích hợp
  • Giúp xử lý đa cộng tuyến và cỡ mẫu nhỏ
  • Hai dạng chính
    • Hồi quy lasso: phạt số hệ số khác 0
    • Hồi quy ridge: phạt độ lớn tuyệt đối của hệ số
  • Nhằm tìm mô hình gọn (đơn giản)
  • Phối hợp tốt với random forest
Machine Learning với caret trong R

Tinh chỉnh mô hình glmnet

  • Kết hợp lasso và ridge
  • Có thể khớp pha trộn hai mô hình
  • alpha [0, 1]: từ ridge thuần đến lasso thuần
  • lambda (0, infinity): độ lớn mức phạt
Machine Learning với caret trong R

Ví dụ: "đừng overfit"

# Load data
overfit <- read.csv("overfit.csv")

# Make a custom trainControl
myControl <- trainControl(
  method = "cv", 
  number = 10,
  summaryFunction = twoClassSummary,
  classProbs = TRUE, # <- Super important!
  verboseIter = TRUE
)
Machine Learning với caret trong R

Dùng mặc định trước

# Fit a model
set.seed(42)
model <- train(
  y ~ ., 
  overfit, 
  method = "glmnet", 
  trControl = myControl
)

# Plot results
plot(model)
  • 3 giá trị alpha
  • 3 giá trị lambda
Machine Learning với caret trong R

Vẽ kết quả

Biểu đồ đường các đường cong ROC cross-validated theo tỷ lệ pha trộn cho ba tham số regularization. Có một đỉnh tại 0,55 với giá trị trung bình của tham số regularization.

Machine Learning với caret trong R

Ayo berlatih!

Machine Learning với caret trong R

Preparing Video For Download...