相关疑难解决方法(0)

压缩距离矩阵如何工作?(pdist)

scipy.spatial.distance.pdist返回压缩距离矩阵.从文档:

返回压缩距离矩阵Y.对于每个和(where),度量dist(u = X [i],v = X [j])被计算并存储在条目ij中.

我以为ij是的意思i*j.但我想我可能错了.考虑

X = array([[1,2], [1,2], [3,4]])
dist_matrix = pdist(X)
Run Code Online (Sandbox Code Playgroud)

然后文档说dist(X[0], X[2])应该是dist_matrix[0*2].但是,dist_matrix[0*2]它应该是0 - 而不是2.8.

我应该使用什么公式来获取两个向量的相似性,给定ij

python numpy scipy

60
推荐指数
6
解决办法
4万
查看次数

Scipy 余弦相似度与 sklearn 余弦相似度

我注意到,双方scipysklearn有余弦相似度/余弦距离函数。我想测试每个向量对的速度:

setup1 = "import numpy as np; arrs1 = [np.random.rand(400) for _ in range(60)];arrs2 = [np.random.rand(400) for _ in range(60)]"
setup2 = "import numpy as np; arrs1 = [np.random.rand(400) for _ in range(60)];arrs2 = [np.random.rand(400) for _ in range(60)]"

import1 = "from sklearn.metrics.pairwise import cosine_similarity"
stmt1 = "[float(cosine_similarity(arr1.reshape(1,-1), arr2.reshape(1,-1))) for arr1, arr2 in zip(arrs1, arrs2)]"

import2 = "from scipy.spatial.distance import cosine"
stmt2 = "[float(1 - cosine(arr1, arr2)) for arr1, arr2 in zip(arrs1, arrs2)]"

import timeit
print("sklearn: …
Run Code Online (Sandbox Code Playgroud)

python scipy cosine-similarity scikit-learn

3
推荐指数
1
解决办法
7670
查看次数

标签 统计

python ×2

scipy ×2

cosine-similarity ×1

numpy ×1

scikit-learn ×1