Czy rekomendacje mają sens
Teraz, gdy wiesz już, jak dobrze działał nasz model i masz pewność, że będzie generował rekomendacje dopasowane do użytkowników, przyjrzyjmy się konkretnym rekomendacjom i sprawdźmy, czy rzeczywiście mają sens.
Oryginalne dane z ocenami są dostępne jako original_ratings. Sprawdź oryginalne oceny użytkownika 60 i użytkownika 63, a następnie porównaj je z rekomendacjami wygenerowanymi przez ALS. Czy twoim zdaniem rekomendacje są spójne z ich pierwotnymi preferencjami?
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Użyj metody
.filter()na ramce danychoriginal_ratings, aby wybrać wiersze, w którychcol("userId")wynosi60, i wyświetl oryginalne oceny użytkownika 60. Wywołaj metodę.sort(), aby posortować wyniki według kolumnyrating, i ustaw argumentascendingnaFalse, żeby najpierw zobaczyć najwyższe oceny. - Użyj metod
.filter()i.show()na zbiorze danychrecommendations, aby wyświetlić rekomendacje dla użytkownika 60. Pamiętaj, że ALS generuje rekomendacje w kolejności malejącej wedługuserId, więc sortowanie ramki danych nie jest potrzebne. - Wykonaj to samo dla użytkownika 63.
- Czy gatunki w rekomendacjach są spójne z oryginalnymi ocenami każdego z użytkowników?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()