首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >海量数据的推荐系统

海量数据的推荐系统
EN

Stack Overflow用户
提问于 2013-03-12 23:55:32
回答 2查看 2.6K关注 0票数 2

我正在使用真实的用户数据实现一个电影推荐系统。我打算采用协同过滤的方法。然而,这种方法通常需要一个巨大的矩阵来存储用户的评分电影。因为我有超过一万部电影和十万用户。我不可能创建这么大的稀疏矩阵。我想知道每个人是如何在如此大量的数据中实现协同过滤的?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-13 18:16:41

我会向你推荐分布式计算框架,但我认为你仍然可以在一台机器上轻松地处理它的规模。

Apache Mahout包含品味协同过滤库,该库设计用于在一台机器上进行扩展。一个模型-- 10M个数据点?--应该以健康的堆大小放在内存中。看看像GenericItemBasedRecommenderFileDataModel这样的东西。

(Mahout也有基于Hadoop的分布式实现,但我认为您还不需要它。)

我是这篇文章的作者,但后来我开始将大规模的推荐器商业化为Myrrix。它还包含一个独立的单机版本,这是免费的和open source。它还可以很容易地在一台机器上处理这些数据量。例如,这是一个比this example中使用的数据集更小的数据集。Myrrix也有一个分布式实现。

除此之外,还有其他快速分布式实现,如GraphLab。其他非分布式框架可能也足够快,比如MyMediaLite

我建议只使用其中之一,或者如果您真的只是想知道它是如何发生的,请查看源代码并查看数据表示。

票数 4
EN

Stack Overflow用户

发布于 2013-05-30 03:36:41

我没有使用矩阵形式来存储我的数据。相反,我使用C++并构建了一些结构,如User、Rating、Item,它们包含我需要的变量和数组。这可能会增加算法的复杂度,但可以有效地节省内存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15365956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档