วิเคราะห์โมเดลพยากรณ์ระยะเวลาเที่ยวบินที่ดีที่สุด
เราได้ตั้งค่า CrossValidator เพื่อค้นหาพารามิเตอร์ที่เหมาะสมสำหรับโมเดล linear regression ที่พยากรณ์ระยะเวลาเที่ยวบินไปแล้ว
pipeline ของโมเดลมีหลาย stage (ออบเจ็กต์ประเภท StringIndexer, OneHotEncoder, VectorAssembler และ LinearRegression) ซึ่งทำงานตามลำดับ โดย stage ต่าง ๆ สามารถเข้าถึงได้ผ่าน attribute stages บนออบเจ็กต์ pipeline และจะถูกรันตามลำดับที่ปรากฏในรายการ
ต่อไปเราจะเจาะลึก pipeline นี้ แยก stage ต่าง ๆ ออกมา และนำไปใช้สร้างการพยากรณ์บนข้อมูลทดสอบ
ออบเจ็กต์ต่อไปนี้ถูกสร้างขึ้นแล้ว:
cv— ออบเจ็กต์CrossValidatorModelที่ผ่านการฝึกแล้ว และevaluator— ออบเจ็กต์RegressionEvaluator
ข้อมูล flights ถูกแบ่งแบบสุ่มออกเป็น flights_train และ flights_test
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning with PySpark
คำแนะนำการฝึกหัด
- ดึงโมเดลที่ดีที่สุดออกมา
- ตรวจสอบ stage ต่าง ๆ ใน best model
- แยก stage ของ linear regression ออกมา แล้วดึงพารามิเตอร์ของมัน
- ใช้ best model สร้างการพยากรณ์บนข้อมูลทดสอบ และคำนวณค่า RMSE
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get the best model from cross validation
best_model = cv.____
# Look at the stages in the best model
print(best_model.____)
# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()
# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))