คำแนะนำสมเหตุสมผลหรือไม่
เมื่อเข้าใจแล้วว่าโมเดลทำงานได้ดีเพียงใด และมั่นใจว่าจะให้คำแนะนำที่ตรงกับความสนใจของผู้ใช้ได้ ลองมาดูคำแนะนำที่โมเดลสร้างขึ้นสำหรับผู้ใช้จริง แล้วตรวจสอบว่าสมเหตุสมผลหรือไม่
ข้อมูลเรตติ้งต้นฉบับถูกเตรียมไว้ให้ในชื่อ original_ratings ลองดูเรตติ้งเดิมของ user 60 และ user 63 แล้วเปรียบเทียบกับสิ่งที่ ALS แนะนำให้พวกเขา ในความคิดของคุณ คำแนะนำเหล่านั้นสอดคล้องกับความชอบเดิมของผู้ใช้หรือไม่?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engines ด้วย PySpark
คำแนะนำการฝึกหัด
- ใช้
.filter()บน dataframeoriginal_ratingsโดยกำหนดให้col("userId")เท่ากับ60เพื่อดูเรตติ้งเดิมของ user 60 จากนั้นเรียก.sort()เพื่อเรียงลำดับผลลัพธ์ตามratingและกำหนดอาร์กิวเมนต์ascendingเป็นFalseเพื่อให้เห็นเรตติ้งสูงสุดก่อน - ใช้
.filter()และ.show()บนชุดข้อมูลrecommendationsเพื่อดูคำแนะนำของ user 60 สังเกตว่าเมื่อ ALS สร้างคำแนะนำ จะเรียงลำดับจากมากไปน้อยตาม userId อยู่แล้ว จึงไม่จำเป็นต้องเรียงลำดับ dataframe เพิ่มเติม - ทำแบบเดียวกันสำหรับ user 63
- แนวเรื่อง (genre) ในคำแนะนำมีความสอดคล้องกับเรตติ้งเดิมของผู้ใช้แต่ละคนหรือไม่?
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Look at user 60's ratings
print("User 60's Ratings:")
original_ratings.filter(col("____") == 60).____("rating", ____ = False).show()
# Look at the movies recommended to user 60
print("User 60s Recommendations:")
____.____(col("userId") == ____).show()
# Look at user 63's ratings
print("User 63's Ratings:")
original_ratings.filter(col("____") == ____).____("rating", ____ = False).show()
# Look at the movies recommended to user 63
print("User 63's Recommendations:")
____.____(col("userId") == ____).show()