การเล่นกับBoston Housing DatasetและRandomForestRegressor
(w / พารามิเตอร์เริ่มต้น) ใน scikit-Learn ฉันสังเกตเห็นบางสิ่งที่แปลก: ค่าเฉลี่ยการตรวจสอบความถูกต้องลดลงเมื่อฉันเพิ่มจำนวน folds เกิน 10 กลยุทธ์การตรวจสอบข้ามของฉันมีดังนี้:
cv_met = ShuffleSplit(n_splits=k, test_size=1/k)
scores = cross_val_score(est, X, y, cv=cv_met)
... ที่num_cvs
หลากหลาย ฉันตั้งค่าtest_size
เป็น1/num_cvs
กระจกจำลองพฤติกรรมการแยกขนาดของรถไฟ / ทดสอบของ k-fold CV โดยทั่วไปฉันต้องการบางสิ่งบางอย่างเช่น k-fold CV แต่ฉันต้องการการสุ่มด้วย (เช่น ShuffleSplit)
การทดลองนี้ซ้ำหลายครั้งแล้วคะแนนเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานถูกวางแผนแล้ว
(โปรดทราบว่าขนาดของk
ถูกระบุโดยพื้นที่ของวงกลมโดยค่าเบี่ยงเบนมาตรฐานอยู่บนแกน Y)
การเพิ่มขึ้นอย่างต่อเนื่องk
(จาก 2 เป็น 44) จะให้คะแนนเพิ่มขึ้นเล็กน้อยตามด้วยการลดลงอย่างต่อเนื่องเมื่อk
เพิ่มขึ้นอีก (เกิน ~ 10 เท่า)! ถ้ามีอะไรฉันคาดหวังว่าข้อมูลการฝึกอบรมเพิ่มเติมจะนำไปสู่คะแนนเพิ่มขึ้นเล็กน้อย!
ปรับปรุง
การเปลี่ยนเกณฑ์การให้คะแนนหมายถึงผลลัพธ์ข้อผิดพลาดแบบสัมบูรณ์ในพฤติกรรมที่ฉันคาดไว้: การให้คะแนนดีขึ้นเมื่อเพิ่มจำนวนเท่าใน K-fold CV แทนที่จะเข้าใกล้ 0 (เช่นเดียวกับค่าเริ่มต้น ' r2 ') คำถามนี้ยังคงเป็นเหตุผลว่าทำไมตัวชี้วัดการให้คะแนนเริ่มต้นส่งผลให้เกิดประสิทธิภาพที่ไม่ดีในทั้งตัววัดค่าเฉลี่ยและตัวชี้วัด STDเพื่อเพิ่มจำนวนเท่า