Cross-Validation โมเดลพยากรณ์ระยะเวลาเที่ยวบินแบบพื้นฐาน
ที่ผ่านมาได้สร้างโมเดลพยากรณ์ระยะเวลาเที่ยวบินไปแล้วหลายโมเดล และประเมินผลด้วยการแบ่งข้อมูลแบบ train/test split อย่างง่าย อย่างไรก็ตาม cross-validation เป็นวิธีที่ดีกว่ามากในการประเมินประสิทธิภาพของโมเดล
ในแบบฝึกหัดนี้ จะฝึกโมเดลพื้นฐานสำหรับพยากรณ์ระยะเวลาเที่ยวบินโดยใช้ cross-validation เวลาเดินทางมักมีความสัมพันธ์สูงกับระยะทาง ดังนั้นการใช้คอลัมน์ km เพียงคอลัมน์เดียวก็น่าจะให้โมเดลที่ใช้งานได้ดี
ข้อมูลถูกแบ่งแบบสุ่มไว้แล้วเป็น flights_train และ flights_test
คลาสต่อไปนี้ถูก import ไว้แล้ว: LinearRegression, RegressionEvaluator, ParamGridBuilder และ CrossValidator
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning with PySpark
คำแนะนำการฝึกหัด
- สร้าง parameter grid เปล่า
- สร้างออบเจกต์สำหรับสร้างและประเมินโมเดล linear regression โดยโมเดลควรพยากรณ์ฟิลด์ "duration"
- สร้างออบเจกต์ cross-validator โดยระบุค่าสำหรับอาร์กิวเมนต์
estimator,estimatorParamMapsและevaluatorพร้อมเลือกใช้ cross-validation แบบ 5-fold - ฝึกและทดสอบโมเดลบน fold ต่าง ๆ ของข้อมูลฝึก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-validation builds multiple models, the fit() method can take a little while to complete.