Aan de slagGa gratis aan de slag

Vergelijkbaar gewaardeerde films vinden

Net zoals je de similariteit tussen twee films berekende, kun je die ook over alle gebruikers heen berekenen om de meest vergelijkbare film te vinden op basis van hoe gebruikers ze hebben beoordeeld.

De aanpak lijkt op hoe je met content-based filtering werkte.

Je bepaalt de similariteitsscores tussen alle films en zoomt daarna in op de film van interesse door de kolom met de bijbehorende similariteitsscores te isoleren en te sorteren.

movie_ratings_centered is opnieuw geladen. Deze bevat elke film als een rij, met de gecentreerde beoordelingen als waarden.

Deze oefening maakt deel uit van de cursus

Aanbevelingssystemen bouwen in Python

Cursus bekijken

Oefeninstructies

  • Bereken de similariteitsmatrix tussen alle films in movie_ratings_centered en sla die op als similarities.
  • Verpak de matrix similarities in een DataFrame, met de indexen van movie_ratings_centered als zowel de kolommen als de rijen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

from sklearn.metrics.pairwise import cosine_similarity

# Generate the similarity matrix
similarities = ____(____)

# Wrap the similarities in a DataFrame
cosine_similarity_df = ____.____(____, index=____.____, columns=____.____)

# Find the similarity values for a specific movie
cosine_similarity_series = cosine_similarity_df.loc['Star Wars: Episode IV - A New Hope (1977)']

# Sort these values highest to lowest
ordered_similarities = cosine_similarity_series.sort_values(ascending=False)

print(ordered_similarities)
Code bewerken en uitvoeren