【发布时间】:2019-02-10 18:36:34
【问题描述】:
我想计算购买数据集的产品之间的余弦相似度。我有超过 100000 行(行 = 用户购买事件)和超过 80000 种产品。
为了避免使用pandas.crosstab 来制作数据集的格式:
> user_id\item_id 1 2 3 4 ...
> 1 | 1 1 0 0
> 2 | 0 1 0 0
> 3 | 1 0 1 0
> 4 | 0 0 0 0
> 5 | 0 0 1 0
> ...
>
> Matrix: Whether a user purchased an item or not
我将购买数据集转换为scipy.coo_matrix,并认为我必须随后执行tocsr() 来进行产品之间的标准化和相似性计算,但发现当我们将coo_matrix 转换为csr_matrix 时,它总和重复项(我不想发生这种情况,我的矩阵中只需要 1 和 0)。
有没有办法解决这个问题并计算余弦相似度?
【问题讨论】:
标签: python scipy sparse-matrix cosine-similarity