使用 Spark 寻找与用户相似的用户?

数据挖掘 阿帕奇火花 apache-mahout 类似文件
2021-10-04 07:31:40

我读到了 https://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html

但找不到此实现的火花库。

我有柱状字符串数据集。

我有一个数据集,其中包含大约 15-2000 万用户的数据,包括他们的 show_watched、times_watched、流派、频道和更多列,我需要计算一个用户(或 10 万个用户)的相似/秒。

我如何在更短的时间内为他们找到相似的人,

我已经尝试通过在 Solr 中索引数据,然后使用 Solr MLT 来查找相似的用户,但这需要很多时间,而且它使用 TF-IDF 进行 MLT,我需要用户的 times_show_watched 接近该用户的 times_show_watched。

谁能为此推荐一种更好的方法,也许使用任何其他框架来加快处理速度?

我还尝试使用 Spark MLLIB 实现集群,然后搜索用户所属的集群,以减少搜索空间,但我无法完成这种方法。

我对任何有效的方法持开放态度。

谢谢!

1个回答

来自 Mahout 的 PMC 在这里——我们目前正处于网站重组的中间,事情是……嗯,他们一团糟。

这是我认为更有用的东西的链接。Spark 中的共现教程。

http://mahout.apache.org/docs/latest/tutorials/cco-lastfm/

重新“A Spark 库”,mahout 是 spark 库。

要使用 Mahout(仅限 Scala,如果您是 Python 爱好者,很抱歉,但是语法,尤其是 Mahout 的语法非常令人愉快),您需要下载 mahout 并./mahout spark-shellbin/目录中运行。或者,如果您喜欢 GUI 笔记本和 Apache Zeppelin,请查看本教程以在 Zeppelin 上设置 Mahout+Spark

http://mahout.apache.org/docs/latest/tutorials/misc/mahout-in-zeppelin/

(如果您正在编译 Jar,只需将 Mahout 添加为依赖项。)