开始使用免费开始使用

推荐器函数

在本练习中,我们将构建课程与上一个练习中讨论的推荐器函数 get_recommendations()。它接收一个标题、一个余弦相似度矩阵,以及电影标题与索引的映射作为参数,并输出与原始标题最相似的 10 个标题(不包含标题本身)。

您已获得一个包含电影标题与简介的数据集 metadata。该数据集的前几行已打印到控制台。

本练习是课程的一部分

Python 中的 NLP 特征工程

查看课程

练习说明

  • 使用 indicestitle 键获取与该标题匹配的电影索引。
  • 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]
编辑并运行代码