推荐器函数
在本练习中,我们将构建课程与上一个练习中讨论的推荐器函数 get_recommendations()。它接收一个标题、一个余弦相似度矩阵,以及电影标题与索引的映射作为参数,并输出与原始标题最相似的 10 个标题(不包含标题本身)。
您已获得一个包含电影标题与简介的数据集 metadata。该数据集的前几行已打印到控制台。
本练习是课程的一部分
Python 中的 NLP 特征工程
练习说明
- 使用
indices的title键获取与该标题匹配的电影索引。 - 从
sim_scores中提取最相似的 10 部电影,并将结果存回sim_scores。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Generate mapping between titles and index
indices = pd.Series(metadata.index, index=metadata['title']).drop_duplicates()
def get_recommendations(title, cosine_sim, indices):
# Get index of movie that matches title
idx = ____[____]
# Sort the movies based on the similarity scores
sim_scores = list(enumerate(cosine_sim[idx]))
sim_scores = sorted(sim_scores, key=lambda x: x[1], reverse=True)
# Get the scores for 10 most similar movies
sim_scores = sim_scores[____]
# Get the movie indices
movie_indices = [i[0] for i in sim_scores]
# Return the top 10 most similar movies
return metadata['title'].iloc[movie_indices]