【发布时间】:2017-07-21 14:37:40
【问题描述】:
我正在开发一个推荐引擎,我现在面临的一个问题是项目的相似度矩阵非常大。
我计算了 20,000 个项目的相似度矩阵,并将它们存储在一个二进制文件中,调整后的大小接近 1 GB。我觉得它太大了。
如果您有这么多项目,处理相似度矩阵的最佳方法是什么?
任何建议!
【问题讨论】:
-
你能提供更多细节吗?文件的内容是什么?你的矩阵是什么样子的?
我正在开发一个推荐引擎,我现在面临的一个问题是项目的相似度矩阵非常大。
我计算了 20,000 个项目的相似度矩阵,并将它们存储在一个二进制文件中,调整后的大小接近 1 GB。我觉得它太大了。
如果您有这么多项目,处理相似度矩阵的最佳方法是什么?
任何建议!
【问题讨论】:
实际上相似度矩阵是关于对象与另一个对象的相似程度。每行由对象(行 id)的邻居组成,但您不需要存储所有邻居,例如仅存储 20 个邻居。使用 lil_matrix:
from scipy.sparse import lil_matrix
【讨论】:
(product_id1, product_id2) 0.45 如何仅过滤与 product_id1 最相似的 x 个产品,而无需将矩阵转换为数组?