Zacznij terazZacznij za darmo

Znajdowanie filmów o podobnych ocenach

Podobnie jak obliczono podobieństwo między dwoma filmami, można je wyznaczyć dla wszystkich użytkowników – w ten sposób znajdziesz film najbardziej zbliżony do wybranego na podstawie wystawionych ocen.

Podejście jest analogiczne do tego, które stosowano w przypadku filtrowania opartego na treści.

Wyznaczysz współczynniki podobieństwa między wszystkimi filmami, a następnie skupisz się na wybranym filmie – wyodrębniając i sortując kolumnę zawierającą jego wartości podobieństwa.

movie_ratings_centered został ponownie wczytany. Zawiera filmy jako wiersze, a ich wycentrowane oceny jako wartości.

To ćwiczenie jest częścią kursu

Budowanie systemów rekomendacji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz macierz podobieństwa między wszystkimi filmami w movie_ratings_centered i zapisz ją jako similarities.
  • Opakuj macierz similarities w DataFrame, używając indeksów movie_ratings_centered jako kolumn i wierszy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod