coh*_*hoz 7 matrix-factorization apache-spark apache-spark-mllib
给定MatrixFactorizationModel什么是返回用户产品预测的完整矩阵的最有效方法(在实践中,通过某个阈值过滤以保持稀疏性)?
通过当前的API,曾经可以将用户产品的笛卡尔积传递给预测函数,但在我看来,这将进行大量的额外处理.
访问私有userFeatures,productFeatures是正确的方法,如果是这样,有没有一种好方法利用框架的其他方面以有效的方式分发这个计算?具体来说,是否有一种简单的方法可以做得比将所有的userFeature,productFeature"手动"相乘?
Spark 1.1有一个recommendProducts可以映射到每个用户ID的方法.这比没有好,但没有真正优化推荐给所有用户.
我会仔细检查你是否真的想为每个人提出建议; 在规模上,这本质上是一个很大的缓慢操作.考虑预测最近才有效的用户.
否则,是的,最好的办法是创建自己的方法.特征RDD的笛卡尔连接可能太慢了,因为它拖曳了这么多的特征向量副本.选择较大的用户/产品功能集,然后映射.在每个工作程序中,将每个工作程序中的其他产品/用户功能集保存在内存中.如果这不可行,您可以使其更复杂,并对内存中较小RDD的子集进行多次映射.
| 归档时间: |
|
| 查看次数: |
1118 次 |
| 最近记录: |