โมเดลที่ดีที่สุดและพารามิเตอร์ของโมเดล
เมื่อสร้าง cross validator cv เสร็จแล้ว เราสามารถสั่งให้ Spark นำข้อมูลไป fit อัลกอริทึม ALS และทดลองค่า hyperparameter ต่างๆ จาก param_grid เพื่อหาค่าที่ให้ RMSE ต่ำที่สุด อย่างไรก็ตาม กระบวนการนี้ใช้เวลานานเกินไปที่จะรันในที่นี้ แต่สำหรับข้อมูลอ้างอิง วิธีการทำมีดังนี้:
#Fit cross validator to the 'train' dataset
model = cv.fit(train)
#Extract best model from the cv model above
best_model = model.bestModel
โค้ดดังกล่าวได้รันไว้แล้วแยกต่างหาก และ best_model ถูกบันทึกไว้ให้พร้อมใช้งาน ให้ใช้คำสั่งที่กำหนดเพื่อดึงค่าพารามิเตอร์ของโมเดล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engines ด้วย PySpark
คำแนะนำการฝึกหัด
- พิมพ์
type(best_model)เพื่อยืนยันว่าโมเดลที่ ALS สร้างจากตัวเลือก hyperparameter นั้นเสร็จสมบูรณ์แล้ว จำเป็นต้องใช้ print statement เพื่อให้ทำงานร่วมกับ print statement ถัดไปได้ - ดึงค่า
rankจากbest_modelโดยเรียกใช้เมธอด.getRank()บนbest_model - ดึงค่า
maxIterจากbest_modelโดยเรียกใช้เมธอด.getMaxIter()บนbest_model - ดึงค่า
regParamจากbest_modelโดยเรียกใช้เมธอด.getRegParam()บนbest_model
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print best_model
print(____)
# Complete the code below to extract the ALS model parameters
print("**Best Model**")
# Print "Rank"
print(" Rank:", best_model.get____())
# Print "MaxIter"
print(" MaxIter:", best_model.get____())
# Print "RegParam"
print(" RegParam:", best_model.get____())