TF-IDF であなたの全映画を比較する
TF-IDF データを使える形に整えたので、いよいよ類似度を計算してレコメンドを作っていきます。
今回は TF-IDF スコア(ブール値ではなく float)を使うため、アイテム間の類似度にはコサイン類似度を用います。 この演習では、すべての映画どうしのコサイン類似度の行列を作成し、検索しやすいように DataFrame に保存します。これにより、映画の比較やレコメンドの抽出を素早く簡単に行えるようになります。
前の演習で作成した、各映画を 1 行として持つ 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())