使用 Python 中的相关性分析生成图书推荐
目录
- 推荐系统简介
- 收集参考数据
- 设置数据变量
- 使用 Pandas 提取相关数据
- 计算相关性
- 排序和分析相关性
- 优化推荐系统
- 结论
推荐系统简介
欢迎回来,朋友们!在今天的课程中,我们将探讨如何生成图书相关性并利用这些相关性提供个性化推荐。在本讲结束时,您将理解使用 Python 和 Pandas 创建简单推荐系统的基础步骤。
推荐系统简介
我们首先讨论为方便而设计的自定义方法的创建。该方法允许用户输入 ISBN 号码,然后检索相应图书的详细信息。例如,使用 ISBN,我们可以确定图书标题为《彩绘的房子》,作者是约翰·格里沙姆(John Grisham)——一位著名小说家,以其扣人心弦的故事及其改编成受欢迎电影而闻名。
收集参考数据
为了确保我们的推荐系统具有鲁棒性,我们利用谷歌的搜索能力。通过搜索“John Grisham”,我们可以访问他的书籍列表以及人们也在搜索的相关作者。这一“人们也在搜索”部分作为初步推荐列表。它可能包括家庭成员、合作者或其他具有类似写作风格的作者。例如,我们可能会包括以《哈利·波特》系列闻名的J.K. 罗琳,以测试我们的推荐算法的有效性。
设置数据变量
为了简化和明确,我们根据作者名称和书名分配变量名称,例如john_grisham_painted_house。这种命名规范有助于高效地组织和引用我们的数据。
使用 Pandas 提取相关数据
使用 Pandas,我们从数据集中提取与 ISBN 相关的列。这是通过数据透视表实现的,它将我们的数据转换为更易于管理的格式。在将 ISBN 传递给数据透视表后,我们获得一个包含众多行的序列,表示各种相关书籍。
计算相关性
利用提取的数据,我们使用 Pandas 的相关函数计算不同书籍之间的相关系数。相关性帮助我们根据用户互动或偏好识别两本书的关联程度。这一步可能会因复杂的计算而产生警告,但得到的相关性提供了有价值的见解。
为了增强可读性,我们将相关性序列转换为 DataFrame 并将列重命名为“correlation”。然后,我们通过删除所有None或NA值来处理数据集中的这些值。
排序和分析相关性
将相关性按降序排序可以使我们优先考虑具有最高相似性分数的书籍。这确保了最相关的推荐首先出现。例如,如果《彩绘的房子》与另一书籍具有高相关性,该书籍将在我们的推荐中突出显示。
在我们的分析中,我们观察到共有1,587本相似的书籍。然而,并非所有相关性都强或为正。一些书籍显示出负相关性或非常低的相关性,表明关系较弱。过滤掉这些低相关性或负相关性对于保持推荐的准确性至关重要。
优化推荐系统
虽然初始相关性提供了基础,但它们不足以进行精确的推荐。在后续课程中,我们将深入探讨优化这些相关性以增强我们的推荐引擎。这种优化将涉及改进我们的数据处理方法,并确保推荐对用户是相关且有意义的。
结论
今天的课程全面介绍了如何使用 Python 和 Pandas 构建基本的推荐系统。通过提取相关数据、计算相关性和排序结果,我们为一个功能性的推荐引擎奠定了基础。在未来的课程中,我们将专注于完善这些过程,以提供更准确和个性化的图书推荐。
感谢您参加今天的课程!希望您觉得这次讲座有见地。敬请期待更多教程,祝编程愉快!