開始使用免費開始

找到喜好相近的電影

就像你先前計算兩部電影之間的相似度一樣,你也可以在所有使用者之間計算,根據使用者對電影的評分,找出與另一部電影最相似的那一部。

這個方法和你在內容式過濾的做法很類似。

你會先計算所有電影彼此之間的相似度分數,接著聚焦到目標電影,將包含其相似度分數的欄位取出並排序。

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)
編輯並執行程式碼