用 TF-IDF 比對所有電影
你已經把 TF-IDF 資料整理成可用的格式,現在就來用它找出相似度並產生推薦。
這次因為你使用的是 TF-IDF 分數(它是浮點數,不是布林值),所以要用 cosine similarity(餘弦相似度)來衡量項目之間的相似性。在這個練習中,你會建立一個包含所有電影兩兩之間餘弦相似度的矩陣,並把它存成一個 DataFrame,方便查找。這能讓你更快速、輕鬆地比較電影並找到推薦。
你在上一題建立的 tfidf_df DataFrame 已經為你載入,每一列對應一部電影。
本練習屬於課程
用 Python 建立推薦引擎
練習說明
- 找出所有電影之間的餘弦相似度,並將結果指定給
cosine_similarity_array。 - 以
cosine_similarity_array建立一個 DataFrame,並將其列與欄都設為tfidf_summary_df.index。 - 列印出該 DataFrame 的前 5 列,並檢視相似度分數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Import cosine_similarity measure
from sklearn.metrics.pairwise import ____
# Create the array of cosine similarity values
cosine_similarity_array = ____(tfidf_summary_df)
# Wrap the array in a pandas DataFrame
cosine_similarity_df = pd.____(cosine_similarity_array, ____=____.____, ____=____.____)
# Print the top 5 rows of the DataFrame
print(cosine_similarity_df.head())