开始使用免费开始使用

查找相似喜好的电影

与之前只计算两部电影之间的相似度类似,您也可以在所有用户上计算相似度,根据用户的评分找出与某部电影最相似的电影。

这个思路与您在内容过滤中使用的方法类似。

您将先计算所有电影之间的相似度分数,然后聚焦到目标电影,通过提取并排序其对应列中的相似度分数来深入分析。

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)
编辑并运行代码