สร้างโมเดล implicit
เมื่อกำหนดค่า hyperparameter ครบทุกตัวแล้ว มาให้ Spark สร้างโมเดลให้ครบทุก combination กันเลย โดยมี for loop เตรียมไว้ให้แล้ว ทำตามคำแนะนำด้านล่างเพื่อสร้างโมเดล ALS เหล่านี้โดยอัตโนมัติ ในแบบฝึกหัดถัดไป จะนำโมเดลเหล่านี้ไปทดสอบกับชุดข้อมูลทดสอบเพื่อดูว่าโมเดลใดให้ผลดีที่สุด
อัลกอริทึม ALS ถูก import ให้แล้ว และลิสต์ที่สร้างไว้ในแบบฝึกหัดที่แล้ว (ranks, maxIters, regParams, alphas) ก็ถูกเตรียมไว้ให้เรียบร้อยแล้วเช่นกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engines ด้วย PySpark
คำแนะนำการฝึกหัด
- มีลิสต์ว่างชื่อ
model_listเตรียมไว้ให้แล้วforloop จะสร้างโมเดลสำหรับทุก combination ของ hyperparameter ที่กำหนด แล้วนำไปเก็บไว้ในmodel_list - เติม
forloop ให้สมบูรณ์โดยอ้างอิงเนื้อหาของแต่ละลิสต์ โดยrแทนสมาชิกของลิสต์ranks,miแทนสมาชิกของลิสต์maxIters,rpแทนสมาชิกของลิสต์regParamsและaแทนสมาชิกของลิสต์alphas - พิมพ์
len(model_list)และmodel_listเพื่อตรวจสอบว่าสร้างโมเดลครบทุกตัวแล้ว โดยค่าความยาวควรเท่ากับผลคูณของความยาวของลิสต์ hyperparameter แต่ละรายการข้างต้น สามารถรันโค้ดตรวจสอบที่เตรียมไว้ให้เพื่อยืนยันความถูกต้อง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# For loop will automatically create and store ALS models
for r in ____:
for mi in ____:
for rp in ____:
for a in ____:
model_list.append(ALS(userCol= "userId", itemCol= "songId", ratingCol= "num_plays", rank = r, maxIter = mi, regParam = rp, alpha = a, coldStartStrategy="drop", nonnegative = True, implicitPrefs = True))
# Print the model list, and the length of model_list
print (model_list, "Length of model_list: ", len(____))
# Validate
len(model_list) == (len(ranks)*len(maxIters)*len(regParams)*len(alphas))