gpt4 book ai didi

Python、列表+字典、类?

转载 作者:太空宇宙 更新时间:2023-11-03 19:19:57 26 4
gpt4 key购买 nike

好吧,这不是一个具体问题;我只需要一些关于如何使用 python 2.7 版本为我的类(class)完成最终项目的指南。该程序基本上要做的就是从 2 个文本文件导入信息,其中一个仅包含书籍列表及其作者,以逗号和行分隔:
例如:
道格拉斯·亚当斯,《银河系漫游指南》
理查德·亚当斯,沃特希普镇
米奇·阿尔博姆,你在天堂遇到的五个人

然后是用户文件及其姓名在一行,他们对总共 55 本书的评分在下一行(文本框不够大,无法将所有评分放在一行):例如:

5 0 0 0 0 0 0 1 0 1 -3 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 1 3 0 1 0 -5 0 0 5 5 0 5 5 5 0 5 5 0 0 0 5 5 5 5 -5
驼鹿
5 5 0 0 0 0 3 0 0 1 0 5 3 0 5 0 3 3 5 0 0 0 0 0 5 0 0 0 0 0 3 5 0 0 0 0 0 5 -3 0 0 0 5 0 0 0 0 0 0 5 5 0 3 0 0

不管怎样,实际项目是用导师提供的算法来比较用户对书籍的兴趣。您输入一个用户,它会通过将他们对图书的评分相乘并将它们全部加在一起来搜索所有其他 87 个用户。例如,对于第一本书,Ben 的评分为 5,Moose 的评分也为 5,因此 Moose 的相似度得分为 25,您可以对每本书执行此操作,将输入的用户评分与所有其他用户以及评分最接近的用户相乘。相似度得分,您输出它们并向用户推荐 5 本书。基本上是相似度分数最接近的用户阅读过且评分较高但输入的用户尚未阅读的书籍。好吧,在写完那堵巨大的文字墙之后,我很抱歉。我明白我必须做什么,但我只是想不出一个简单的方法来完成这项任务,我不是在寻找某人为我做这个项目或类似的事情,只是这个项目值得我们的很大一部分年级,我什至不知道从哪里开始。如果有人能引导我走向正确的方向,即什么类型的数据结构最容易完成这项任务,我将非常感激,再次对这么长的帖子感到抱歉,但我很绝望。

最佳答案

你所说的算法听起来很像 Vector Space model (也this page)。将每个用户的分数设想为一个 55 维向量(在 55 维空间中形成一条线),您可以通过计算用户线之间的角度彼此接近的程度来比较用户线的相似性。

无论如何,您的应用程序有两个基本部分:

  1. 文档解析以构建数据结构
  2. 使用创建的结构实现您的算法

请注意,它们的共同点是您需要决定数据结构,因此您使用的数据结构对于您的应用程序至关重要。

最简单的可行方法是两个列表。其中一个列表是书籍数据:books = [('author', 'book'), ...]。另一个是分数数据:scores = [('user', [1,2,3,4,...]), ...]。然后确保 scores[n][1][m] 是与 books[m] 对应的分数。然后确保实现该算法的函数接受这些结构。

我会确保您首先可以使此方法正常工作。然后您可以查看更高级别的抽象。

您可以使用类和对象将数据与其操作捆绑在一起,以提供更高级别的抽象。例如,您可以将图书记录存储为命名元组,并使用另一个对象来保存一组图书记录并具有用于图书查找的方法(例如 findByIndexfindByAuthor 等) ),以及类似的分数。您可以提供带有书籍集的乐谱集,以便乐谱可以从乐谱索引中查找书籍记录。您可以创建一个评分类,它接受分数集并对其执行操作,例如返回分数集中给定用户的最高分图书记录列表。等等。

关于Python、列表+字典、类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com