Chơi xung quanh với Bộ dữ liệu nhà ở Boston và RandomForestRegressor
(w / tham số mặc định) trong scikit-learn, tôi nhận thấy một điều kỳ lạ: điểm xác thực chéo có nghĩa là giảm khi tôi tăng số lần vượt quá 10. Chiến lược xác thực chéo của tôi như sau:
cv_met = ShuffleSplit(n_splits=k, test_size=1/k)
scores = cross_val_score(est, X, y, cv=cv_met)
... nơi num_cvs
đã được thay đổi. Tôi thiết lập test_size
để 1/num_cvs
phản chiếu hành vi kích thước phân chia thử nghiệm / thử nghiệm của CV gấp k. Về cơ bản, tôi muốn một cái gì đó như CV gấp, nhưng tôi cũng cần sự ngẫu nhiên (do đó là ShuffleSplit).
Thử nghiệm này được lặp lại nhiều lần, và điểm số avg và độ lệch chuẩn sau đó được vẽ.
(Lưu ý rằng kích thước của k
được biểu thị bằng diện tích của vòng tròn; độ lệch chuẩn nằm trên trục Y.)
Một cách nhất quán, tăng k
(từ 2 lên 44) sẽ mang lại sự gia tăng ngắn gọn về điểm số, sau đó là giảm dần khi k
tăng hơn nữa (vượt quá 10 lần)! Nếu có bất cứ điều gì, tôi sẽ mong đợi nhiều dữ liệu đào tạo hơn để dẫn đến một sự gia tăng nhỏ về điểm số!
Cập nhật
Thay đổi tiêu chí chấm điểm có nghĩa là lỗi tuyệt đối dẫn đến hành vi mà tôi mong đợi: việc ghi điểm sẽ cải thiện với số lần tăng lên trong CV gấp K, thay vì tiếp cận 0 (như mặc định, ' r2 '). Câu hỏi vẫn là tại sao số liệu chấm điểm mặc định dẫn đến hiệu suất kém trên cả số liệu trung bình và STD cho số lần tăng lên.