Zijn aanbevelingen logisch
Nu we begrijpen hoe goed ons model presteerde en we erop vertrouwen dat het relevante aanbevelingen voor gebruikers geeft, gaan we daadwerkelijk kijken naar aanbevelingen voor een gebruiker en beoordelen of ze logisch zijn.
De oorspronkelijke beoordelingsgegevens staan hier als original_ratings. Bekijk de oorspronkelijke beoordelingen van gebruiker 60 en gebruiker 63, en vergelijk die met wat ALS voor hen heeft aanbevolen. Zijn de aanbevelingen volgens jou consistent met hun oorspronkelijke voorkeuren?
Deze oefening maakt deel uit van de cursus
Aanbevelingssystemen bouwen met PySpark
Oefeninstructies
- Gebruik
.filter()op de dataframeoriginal_ratingsom ervoor te zorgen datcol("userId")gelijk is aan60om de oorspronkelijke beoordelingen van gebruiker 60 te bekijken. Roep de methode.sort()aan om de output opratingte sorteren en zet het argumentascendingopFalseom de hoogste beoordelingen eerst te zien. - Gebruik de methoden
.filter()en.show()op de gegevenssetrecommendationsom de aanbevelingen voor gebruiker 60 te bekijken. Let op: wanneer ALS aanbevelingen genereert, worden ze in aflopende volgorde per userId gegeven, dus je hoeft de dataframe niet te sorteren. - Doe hetzelfde voor gebruiker 63.
- Sluiten de aanbevolen genres aan bij de oorspronkelijke beoordelingen van elke gebruiker?
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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()