这是一个关于spark-mllib-als算法性能的问题。我使用java在一个由三元组组成的输入数据集上运行mlib als算法——“userid,itemid,rating”;我使用参数值rank=15;λ=0.1;数值迭代=15;运行als算法。该算法的训练数据集为~15m等级三元组,由3.6m个唯一用户和2.26m个唯一项组成。培训在一台96gb资源节点的机器上进行,每台机器上有6个10g的执行器,耗时约6小时。我保存了这个模型,并用它来预测和评估一个约2700万评级三胞胎的数据集。recommendproducts api花了约86个小时来完成运行,这非常奇怪。当我在较小的数据集上运行它时,recommendproducts api花费的时间比训练要多,但不会太多。java程序的工作原理与scala中的类似:http://ampcamp.berkeley.edu/4/exercises/movie-recommendation-with-mllib.html.
我只是想知道为什么这个程序要花这么长时间来计算als.train?为什么推荐产品在更小的数据集上需要更长的时间。我很乐意提供更多可能需要的信息。
暂无答案!
目前还没有任何答案,快来回答吧!