這些推薦有道理嗎
現在你已經了解模型的表現如何,也有信心它能提供與使用者相關的推薦,接下來就實際看看針對某位使用者產生的推薦是否合理。
原始評分資料已提供為 original_ratings。請查看使用者 60 與使用者 63 的原始評分,並與 ALS 為他們產生的推薦進行比較。就你的觀察,這些推薦是否與他們原本的偏好一致?
本練習屬於課程
使用 PySpark 打造推薦引擎
練習說明
- 在
original_ratingsdataframe 上使用.filter(),篩選col("userId")等於60,以查看使用者 60 的原始評分。呼叫.sort()方法,依rating排序,並將ascending參數設為False,先查看最高評分。 - 在
recommendations資料集上使用.filter()與.show()方法,查看使用者 60 的推薦。注意,ALS 產生的推薦會依 userId 以遞減順序提供,因此不需要再對 dataframe 做排序。 - 對使用者 63 做同樣的操作。
- 推薦的電影類型是否與各使用者的原始評分偏好具有一致性?
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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()