ลองแบ่งข้อมูลในอัตราส่วน 80/20
เมื่อชุดข้อมูลถูกเรียงลำดับแบบสุ่มแล้ว ก็สามารถแบ่ง 80% แรกออกเป็นชุดข้อมูลฝึก และ 20% ที่เหลือเป็นชุดข้อมูลทดสอบได้ โดยกำหนดจุดแบ่งที่ประมาณ 80% ของข้อมูลทั้งหมด:
split <- round(nrow(mydata) * 0.80)
จากนั้นใช้จุดนี้แยก 80% แรกออกมาเป็นชุดข้อมูลฝึก:
mydata[1:split, ]
แล้วใช้จุดเดียวกันเพื่อกำหนดชุดข้อมูลทดสอบ:
mydata[(split + 1):nrow(mydata), ]
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning ด้วย caret ใน R
คำแนะนำการฝึกหัด
- เลือก index ของแถวสำหรับจุดแบ่ง ให้จุดนั้นอยู่ที่ประมาณ 80% ของชุดข้อมูล
diamondsแล้วตั้งชื่อ index นี้ว่าsplit - สร้างชุดข้อมูลฝึกชื่อ
trainโดยใช้ index ดังกล่าว - สร้างชุดข้อมูลทดสอบชื่อ
testโดยใช้ index เดียวกัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Determine row to split on: split
# Create train
# Create test