Ähnlich gemochte Filme finden
Genau wie du die Ähnlichkeit zwischen zwei Filmen berechnet hast, kannst du sie über alle Nutzer hinweg berechnen, um den ähnlichsten Film zu einem anderen zu finden – basierend darauf, wie Nutzer sie bewertet haben.
Der Ansatz ist dem Vorgehen beim Content-basierten Filtern ähnlich.
Du berechnest die Ähnlichkeitswerte zwischen allen Filmen und fokussierst dann den interessierenden Film, indem du die Spalte mit seinen Ähnlichkeitswerten isolierst und sortierst.
movie_ratings_centered wurde erneut geladen. Es enthält jeden Film als Zeile, und die zentrierten Bewertungen sind als Werte gespeichert.
Diese Übung ist Teil des Kurses
Recommendation Engines mit Python entwickeln
Anleitung zur Übung
- Berechne die Ähnlichkeitsmatrix zwischen allen Filmen in
movie_ratings_centeredund speichere sie als similarities. - Wickle die Matrix
similaritiesin einen DataFrame, mit den Indizes vonmovie_ratings_centeredals Spalten und Zeilen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)