Python 计算相似度
1 #计算相似度 2 3 #欧式距离 4 # npvec1, npvec2 = np.array(det_a), np.array(det_b) 5 # similirity=math.sqrt(((npvec1 - npvec2) ** 2).sum()) 6 # print('similirity:',similirity) 7 8 #余弦相似度 9 # def cos_sim(vector_a, vector_b): 10 # """ 11 # 计算两个向量之间的余弦相似度 12 # :param vector_a: 向量 a 13 # :param vector_b: 向量 b 14 # :return: sim 15 # """ 16 # vector_a = np.mat(vector_a) 17 # vector_b = np.mat(vector_b) 18 # num = float(vector_a * vector_b.T) 19 # denom = np.linalg.norm(vector_a) * np.linalg.norm(vector_b) 20 # cos = num / denom 21 # sim = 0.5 + 0.5 * cos 22 # return sim 23 24 #余弦值的范围在[-1,1]之间,值越趋近于1,代表两个向量的方向越接近; 25 ## 越趋近于-1,他们的方向越相反;接近于0,表示两个向量近乎于正交。 26 # vector_a, vector_b = np.array(det_a), np.array(det_b) 27 # similirity2=cos_sim(vector_a, vector_b) 28 # print('similirity2:',similirity2)