Пошук подібно вподобаних фільмів
Так само, як ви обчислювали подібність між двома фільмами, її можна обчислити для всіх користувачів, щоб знайти найподібніший фільм до іншого за тим, як користувачі їх оцінили.
Підхід подібний до роботи з контент-орієнтованою фільтрацією.
Ви знайдете значення подібності між усіма фільмами, а потім звузите увагу до потрібного фільму, виділивши та відсортувавши стовпець із його оцінками подібності.
movie_ratings_centered знову завантажено: кожен фільм — окремий рядок, а центровані оцінки збережені як значення.
Ця вправа є частиною курсу
Створення систем рекомендацій у Python
Інструкції до вправи
- Обчисліть матрицю подібності між усіма фільмами у
movie_ratings_centeredі збережіть її як similarities. - Обгорніть матрицю
similaritiesу DataFrame, використавши індексиmovie_ratings_centeredяк стовпці та рядки.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)