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)