การแบ่งข้อมูล Train/Test
การประเมินโมเดล Machine Learning อย่างเป็นกลางนั้น จำเป็นต้องทดสอบโมเดลบนชุดข้อมูลที่แยกต่างหาก ไม่สามารถใช้ข้อมูลชุดเดิมที่ใช้ฝึกโมเดลได้ เพราะโมเดลย่อมทำงานได้ดีบนข้อมูลที่มันเคยเห็นมาแล้ว
ในแบบฝึกหัดนี้จะแบ่งข้อมูลออกเป็นสองส่วน ได้แก่:
- ข้อมูลฝึกสอน (training data) — ใช้สำหรับฝึกโมเดล
- ข้อมูลทดสอบ (testing data) — ใช้สำหรับทดสอบโมเดล
หมายเหตุ: ตั้งแต่นี้เป็นต้นไปจะใช้ชุดข้อมูลเที่ยวบินขนาดเล็กลง เพื่อให้แบบฝึกหัดรันได้เร็วขึ้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning with PySpark
คำแนะนำการฝึกหัด
- แบ่งข้อมูล
flightsแบบสุ่มออกเป็นสองชุดในสัดส่วน 80:20 และกำหนด seed ของตัวสุ่มตัวเลขเป็น 43 เพื่อให้ได้ผลลัพธ์ที่ทำซ้ำได้ - ตรวจสอบว่าข้อมูลฝึกสอนมีจำนวนระเบียนประมาณ 80% ของข้อมูลต้นฉบับ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Split into training and testing sets in a 80:20 ratio
flights_train, flights_test = flights.____(____, ____)
# Check that training set has around 80% of records
training_ratio = flights_train.____() / ____.____()
print(training_ratio)