เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

KFold() ของ scikit-learn

สมมติว่าคุณเพิ่งรันโค้ดของเพื่อนร่วมงานที่สร้างโมเดล random forest และคำนวณค่าความแม่นยำแบบ out-of-sample แล้วพบว่าโค้ดนั้นไม่ได้กำหนด random state ไว้ ทำให้ค่าความคลาดเคลื่อนที่ได้ต่างจากที่เพื่อนร่วมงานรายงานไว้โดยสิ้นเชิง

เพื่อประเมินความแม่นยำของโมเดล random forest นี้บนข้อมูลใหม่ได้ดียิ่งขึ้น จึงตัดสินใจสร้าง index สำหรับใช้กับ KFold cross-validation

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การตรวจสอบความถูกต้องของโมเดลใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เรียกเมธอด KFold() เพื่อแบ่งข้อมูลโดยใช้ 5 splits พร้อมเปิดใช้งานการสุ่ม (shuffling) และกำหนด random state เป็น 1111
  • ใช้เมธอด split() ของ KFold กับ X
  • แสดงจำนวน index ในทั้ง train indices และ validation indices

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

from sklearn.model_selection import KFold

# Use KFold
kf = KFold(____, ____, ____)

# Create splits
splits = kf.____(____)

# Print the number of indices
for train_index, val_index in splits:
    print("Number of training indices: %s" % len(____))
    print("Number of validation indices: %s" % len(____))
แก้ไขและรันโค้ด