1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Machine Learning với caret trong R

Connected

Bài tập

Cross-validation 10-fold

Như bạn đã thấy trong video, một cách tốt hơn để kiểm định mô hình là dùng nhiều tập kiểm định có hệ thống, thay vì chỉ một phép chia ngẫu nhiên train/test. May mắn là gói caret giúp việc này trở nên rất dễ:

model <- train(y ~ ., my_data)

caret hỗ trợ nhiều kiểu cross-validation, và bạn có thể chỉ định loại cross-validation cùng số lượng folds bằng hàm trainControl(), rồi truyền đối tượng này vào đối số trControl của train():

model <- train(
  y ~ ., 
  my_data,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = 10,
    verboseIter = TRUE
  )
)

Lưu ý quan trọng: bạn truyền phương pháp mô hình hóa cho hàm train() chính, còn phương pháp cross-validation thì truyền cho hàm trainControl().

Hướng dẫn

100 XP
  • Khớp một mô hình hồi quy tuyến tính để mô hình hóa price dùng tất cả biến còn lại trong bộ dữ liệu diamonds làm biến dự báo. Sử dụng hàm train() với cross-validation 10-fold. (Lưu ý: chúng tôi đã lấy một tập con của bộ diamonds đầy đủ để tăng tốc, nhưng tên vẫn là diamonds.)
  • In mô hình ra console và xem xét kết quả.