【发布时间】:2019-12-24 00:32:06
【问题描述】:
假设我有一个矩阵 mat 一个 100 x 200 数组。
我的问题有两个:
如何计算第一行与所有其他行的余弦相似度?我尝试使用
sklearn的cosine_similarity函数,但传入100 x 200矩阵会给我一个100 x 100数组(而不是100 x 1数组)。如果我想计算所有行与其他行的余弦相似度,比如说计算所有行的所有 100 C 2 = 4950 种不同组合,那么 不是 是不是最快的?使用
sklearn之类的东西,但实际上将每行的规范存储为np.linalg.norm,然后通过cos_sim = dot(a, b)/(norm(a)*norm(b))计算每个相似度?
【问题讨论】:
标签: python numpy scikit-learn vectorization cosine-similarity