下面的问题来自于我之前做过的一个问题:Python - How to speed up cosine similarity with counting arrays 在使用所提出的解决方案时,我面临着一个很大的复杂性问题,基本上,我的实现需要花费大量的时间来构建余弦相似度矩阵。下面是我使用的代码: import numpy as npimport networkx as nx
你能推荐一种更有效的方法来计算大矩阵上的余弦相似度吗,比如下面这个?我想要计算原始矩阵(mat)中65000行中的每一行相对于所有其他行的余弦相似度,这样结果就是一个65000 x 65000矩阵,其中每个元素都是原始矩阵中两行之间的余弦相似度。import numpy as npfrom sklearn.metrics.pairwise import cosine
我正在尝试使用scipy稀疏矩阵实现余弦相似度,因为我在使用正常矩阵(非稀疏)时遇到了内存错误。然而,我注意到当输入矩阵(观察值)较大时,稀疏和非稀疏矩阵的余弦相似度的内存大小(以字节为单位)几乎相同。我是不是做错了什么,或者,有没有办法解决这个问题?这里的代码中,输入有5%为1,95%为0。import numpy as np
from sklearn.metrics.pairwise import cosine_similarit
几天前,我开始通过做一个项目来学习Python。我从我的数据中准备了两个数据帧,分别是User和Item Dataframe。用户DF有17k个不同的用户,项目DF有1500张专辑。我正在使用协同过滤来获取两个数据帧之间的余弦相似度,如下所示for i in range(0,len(user_normalized.index我测试了几个用户(<10)的逻辑,观察到余弦计算的执行时