python中计算稀疏张量余弦相似性的有效方法?
我有一个单位张量列表(长度=1)。这个列表包含大约20000个这样的张量。张量有大约3000维,但非常稀疏。只有x(0python中计算稀疏张量余弦相似性的有效方法?,python,machine-learning,nlp,word2vec,tensor,Python,Machine Learning,Nlp,Word2vec,Tensor,我有一个单位张量列表(长度=1)。这个列表包含大约20000个这样的张量。张量有大约3000维,但非常稀疏。只有x(0
从scipy导入稀疏
从sklearn.metrics.pairwise导入余弦_相似性
#示例测试:
T=sparse.rand(4,3,0.9)
余弦相似性(T)
#全行程(如所述的张量):
T=sparse.rand(20000,3000)
%时间余弦_相似性(T)
在我的机器上大约需要4.4秒
# staying sparse:
%time cosine_similarity(T, dense_output=False)
在我的机器上运行不到2秒(即大约2倍的加速)。谢谢。如何将其用于稀疏数组?找不到示例。矢量1和矢量2是什么?如果只是numpy数组,那么这在计算上是无效的。您描述的整数范围($0
from sklearn.metrics.pairwise import cosine_similarity
cos_sim = cosine_similarity(vector1,vector2)
# staying sparse:
%time cosine_similarity(T, dense_output=False)