Cross-validation ước lượng khả năng tổng quát hoá bằng cách chia dữ liệu, huấn luyện và kiểm tra trên các phần khác nhau, giúp ước lượng ít may rủi hơn một lần chia duy nhất.
- Hold-out — chia một lần thành train/test (ví dụ 80/20). Nhanh, nhưng ước lượng có variance cao: kết quả phụ thuộc mạnh vào cách chia rơi vào đâu.
- k-Fold — chia thành k phần bằng nhau; lần lượt lấy 1 fold làm test và k−1 fold làm train, lặp k lần rồi lấy trung bình điểm số.
k = 5hoặc10là lựa chọn phổ biến, cân bằng giữa bias và chi phí. Với phân loại nên dùng stratified k-fold để giữ tỷ lệ lớp trong mỗi fold. - Leave-One-Out (LOO) — trường hợp
k = n, mỗi lần test đúng 1 mẫu. Bias thấp nhưng variance cao và rất tốn kém (train n lần); thường chỉ hợp với tập dữ liệu nhỏ.
Với dữ liệu thời gian phải dùng chia theo thời gian (TimeSeriesSplit), không xáo trộn ngẫu nhiên.