相似度计算

 

1、欧式距离

向量看成坐标系中两个点,欧式距离计算两点之间的距离,一般指位置上的差别,即距离

计算方法

import numpy as np
vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])
dist = np.linalg.norm(vec1 - vec2)  # 方法1
dist = np.sqrt(np.sum(np.square(vec1 - vec2)))  # 方法2

 

归一化

sim = 1.0 / (1.0 + dist)

 

2、余弦距离

余弦距离计算两向量之间的夹角,一般指方向上的差别

计算方法

import numpy as np
vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])
cos = np.dot(vec1, vec2)/(np.linalg.norm(vec1)*np.linalg.norm(vec2))

归一化

sim = 0.5 + 0.5 * cos

 

posted on 2018-09-29 15:06  陆小凤的笔记  阅读(488)  评论(0编辑  收藏  举报