算法求助

7 views
Skip to first unread message

余露

unread,
Jun 11, 2012, 10:05:22 PM6/11/12
to yunt...@googlegroups.com
大家好:
   大概有100多万条的数据,要经过很多的计算,让他们推荐几个算法,有名字就行呀,当然各位要是不吝啬笔墨的话,那就更谢谢啦。
真心没头绪,光自己想到的也就是用下二叉树,或者链表的形式组织数据了,没有数据库,只有数据文件
单条数据记录格式:
123 345
134 56789
........

余露

吴朱华

unread,
Jun 12, 2012, 1:32:24 AM6/12/12
to yunt...@googlegroups.com
很多的计算? 主要是那些计算?
如果不知道如何使用这些数据,那么就很难选择合适的算法了
--
Cheers!
人云科技 PeopleYun.com
只有掌握和控制最核心的云计算技术,才能在这场巨大的浪潮中处于主导!!!

余露

unread,
Jun 12, 2012, 1:42:51 AM6/12/12
to yunt...@googlegroups.com
我的错,忘记说明下我的问题了。
是这样的,我在实现一个推荐算法----协同过滤(CF)
数据是二元的,第一列是用户ID,第二列是用户购买过的商品ID,整个数据表明了用户和他所购买过的商品信息
我先要计算每个用户的邻居,也就是跟他购买过相同商品的人,然后通过这些邻居预测目标用户对没有购买过的商品的打分。
我的数据集中数据记录有100多万条,10000个用户,24万多商品,数据集并非数据库,可以通过普通的编辑器就能打开的文件。每条记录格式:
123  456
123 45678
123 23679
......
计算主要消耗在寻找相似用户,预测商品打分上了
我目前没有太好的数据组织方式
我的方式:
1,分别为用户和商品库建立一个链表,每个用户节点包涵了三个链表:购买过的商品,自己的邻居,推荐列表
2,通过查找不同用户和目标用户之间是否购买过相同的商品计算他们的相似度
3,找完自己的邻居后,就开始对商品库中的商品进行预测打分

用户和商品库都是通过简单的单链表进行组织,经常进行循环查找,费时的很。
吴工有啥比较好的方法吗,有好的处理工具推荐一下也好。苦思中....

余露

2012/6/12 吴朱华 <ike...@gmail.com>

周龙亭

unread,
Jun 12, 2012, 1:47:00 AM6/12/12
to yunt...@googlegroups.com
100W的数据,全部放在内存里就行。
建两个Hash表,
1. uid --> product_id
2. product_id  --> set of uid

孑影

unread,
Aug 9, 2013, 10:38:12 AM8/9/13
to Yunt...@googlegroups.com, yunt...@googlegroups.com
我的有一个思路,就是先将数据load到一个数据中,其实数据不够丰富,若是有产品类型或者产品关键字,产品价格等就更加智能了

1、对一个产品进行抽取,或者一个关键字的产品,一个价位的产品&关键字(找邻居集合),找到所有相同购买者
2、取出所有邻居的所有产品记录的集合,对这个集合的所有产品做一个序列,基于购买热门度排序,计算出热门的产品序列
3、对邻居集合中的用户没有购买国热度商品的用户做一个产品推荐
4、重复 1、2、3,若3步驟中该产品已经推荐过一次,就对改推荐商品(uid,pid,rank) rank++, 然后再对rank 值进行排序

其中 在2中计算热门度商品的时候,最好是多做几次数据分析,计算好这个商品list,可以对用户的喜好相同的,产品价位进行一定的加权,使产品list 更加真实


在 2012年6月12日星期二UTC+8上午10时05分22秒,Yu Lu写道:
Reply all
Reply to author
Forward
0 new messages