Tạo một kế hoạch cross validation
Có nhiều cách để triển khai một kế hoạch cross validation n-fold. Trong bài tập này, bạn sẽ
tạo một kế hoạch như vậy bằng vtreat::kWayCrossValidation() và xem qua nó.
kWayCrossValidation() tạo một kế hoạch cross validation với lời gọi sau:
splitPlan <- kWayCrossValidation(nRows, nSplits, dframe, y)
trong đó nRows là số hàng dữ liệu cần chia, và nSplits là số lượng fold cross-validation mong muốn.
Nói chính xác thì dframe và y không được kWayCrossValidation sử dụng; chúng có mặt để tương thích với các hàm phân chia dữ liệu khác của vtreat. Bạn có thể đặt cả hai thành NULL.
splitPlan thu được là một danh sách gồm nSplits phần tử; mỗi phần tử chứa hai vector:
train: các chỉ số củadframesẽ tạo thành tập huấn luyệnapp: các chỉ số củadframesẽ tạo thành tập kiểm tra (hoặc áp dụng)
Trong bài tập này, bạn sẽ tạo một kế hoạch cross-validation 3-fold cho bộ dữ liệu mpg.
Bài tập này là một phần của khóa học
Học có giám sát với R: Hồi quy
Hướng dẫn bài tập
- Nạp gói
vtreat. - Lấy số hàng trong
mpgvà gán vào biếnnRows. - Gọi
kWayCrossValidationđể tạo kế hoạch cross validation 3-fold và gán vào biếnsplitPlan.- Bạn có thể đặt hai đối số cuối của hàm là
NULL.
- Bạn có thể đặt hai đối số cuối của hàm là
- Gọi
str()để xem cấu trúc củasplitPlan.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Load the package vtreat
___
# mpg is available
summary(mpg)
# Get the number of rows in mpg
nRows <- ___
# Implement the 3-fold cross-fold plan with vtreat
splitPlan <- ___
# Examine the split plan
___