Чи мають рекомендації сенс
Тепер, коли ми розуміємо, наскільки добре спрацювала наша модель і маємо певну впевненість, що вона надає корисні для користувачів рекомендації, подивімося на рекомендації для конкретного користувача й оцінимо, чи вони мають сенс.
Початкові оцінки надано у датафреймі original_ratings. Перегляньте початкові оцінки користувачів 60 та 63 і порівняйте їх із тим, що для них запропонував ALS. На вашу думку, чи узгоджуються ці рекомендації з їхніми початковими вподобаннями?
Ця вправа є частиною курсу
Створення рушіїв рекомендацій у PySpark
Інструкції до вправи
- Використайте
.filter()для датафреймуoriginal_ratings, щобcol("userId")дорівнював60, і перегляньте початкові оцінки користувача 60. Викличте метод.sort()для сортування заratingта встановіть аргументascendingуFalse, щоб спочатку побачити найвищі оцінки. - Використайте методи
.filter()і.show()для набору данихrecommendations, щоб переглянути рекомендації для користувача 60. Зауважте: коли ALS генерує рекомендації, їх подано у спадаючому порядку за userId, тож датафрейм додатково сортувати не потрібно. - Зробіть те саме для користувача 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()