相似度算法
今天梳理的是底层的应用算法,计算相似度的。这种算法在nlp,推荐系统领域比较常见,其他的地方怎么用就仁者见仁啦~ 相似度算法 算法名称 简单描述 LCS 最长公共子序列 Hamming Distance 汉明距离 Cosine Similarity 余弦相似度算法 Euclidean Distance 欧式距离 Pearson Correlation Coefficient 皮尔逊相关系数 Manhattan Distance 曼哈顿距离 Minkowski Distance 明可夫斯基距离 Jaccard Similarity Jaccard系数 1、欧式距离(Euclidean Distance) 欧式距离全称是欧几里距离,是最易于理解的一种距离计算方式,源自欧式空间中两点间的距离公式。 3. Python 代码简单实现: def EuclideanDistance(x,y): d = 0 for a,b in zip(x,y): d += (a-b)**2 return d**0.5 4. 使用 numpy 简化: import numpy as np def EuclideanDistance(dataA,dataB): # np.linalg.norm 用于范数计算,默认是二范数,相当于平方和开根号 return 1.0/(1.0 + np.linalg.norm