Các gợi ý có hợp lý không
Giờ bạn đã hiểu mô hình hoạt động tốt đến mức nào và phần nào tin tưởng rằng nó sẽ đưa ra các gợi ý phù hợp với người dùng, hãy cùng xem cụ thể các gợi ý dành cho một người dùng và đánh giá tính hợp lý của chúng.
Dữ liệu đánh giá gốc được cung cấp dưới tên original_ratings. Hãy xem đánh giá gốc của người dùng 60 và người dùng 63, rồi so sánh với những gì ALS gợi ý cho họ. Theo bạn, các gợi ý có nhất quán với sở thích ban đầu của họ không?
Bài tập này là một phần của khóa học
Xây dựng Recommendation Engine với PySpark
Hướng dẫn bài tập
- Dùng
.filter()trên dataframeoriginal_ratingsđể đảm bảocol("userId")bằng60nhằm xem các đánh giá gốc của người dùng 60. Gọi phương thức.sort()để sắp xếp đầu ra theoratingvà đặt tham sốascendingthànhFalseđể xem các đánh giá cao nhất trước. - Dùng các phương thức
.filter()và.show()trên datasetrecommendationsđể xem các gợi ý cho người dùng 60. Lưu ý rằng khi ALS tạo gợi ý, chúng được trả về theo thứ tự giảm dần theo userId, nên không cần sắp xếp dataframe. - Làm điều tương tự cho người dùng 63.
- Các thể loại trong phần gợi ý có nhất quán với các đánh giá gốc của từng người dùng không?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()