glmnet กับ tuning grid แบบกำหนดเอง

Machine Learning ด้วย caret ใน R

Zach Mayer

Data Scientist at DataRobot and co-author of caret

การ tune โมเดล glmnet แบบกำหนดเอง

  • พารามิเตอร์ที่ต้อง tune 2 ตัว: alpha และ lambda
  • สำหรับ alpha ค่าเดียว จะ fit ค่า lambda ทั้งหมดพร้อมกัน
  • ได้หลายโมเดลในการรัน "ครั้งเดียว"
Machine Learning ด้วย caret ใน R

ตัวอย่าง: การ tune glmnet

# Make a custom tuning grid
myGrid <- expand.grid(
  alpha = 0:1, 
  lambda = seq(0.0001, 0.1, length = 10)
)
# Fit a model
set.seed(42)
model <- train(
  y ~ ., 
  overfit, 
  method = "glmnet", 
  tuneGrid = myGrid, 
  trControl = myControl
)
# Plot results
plot(model)
Machine Learning ด้วย caret ใน R

เปรียบเทียบโมเดลด้วยการแสดงผลเป็นภาพ

กราฟเส้นแสดงค่า ROC เทียบกับพารามิเตอร์การ regularization สำหรับค่า mixing percentage 2 ระดับ คือ 0 และ 1 โดย ROC สูงสุดเมื่อ mixing percentage เท่ากับ 1 และพารามิเตอร์การ regularization มากกว่า 0.1

Machine Learning ด้วย caret ใน R

เส้นทาง regularization แบบเต็ม

plot(model$finalModel)

กราฟเส้นแบบกำหนดเองสำหรับโมเดล glmnet แสดงเส้นค่าสัมประสิทธิ์หลายเส้นเทียบกับ L1 norm โดยเมื่อ L1 norm เพิ่มขึ้น ช่วงของค่าสัมประสิทธิ์จะกว้างขึ้น

Machine Learning ด้วย caret ใน R

มาฝึกกันเถอะ!

Machine Learning ด้วย caret ใน R

Preparing Video For Download...