Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Gebruik .filter() op de dataframe original_ratings om ervoor te zorgen dat col("userId") gelijk is aan 60 om de oorspronkelijke beoordelingen van gebruiker 60 te bekijken. Roep de methode .sort() aan om de output op rating te sorteren en zet het argument ascending op False om de hoogste beoordelingen eerst te zien.
  • Gebruik de methoden .filter() en .show() op de gegevensset recommendations om 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()
Code bewerken en uitvoeren