由担路网提供网站建设,专门做门的网站,深圳 旅游 网站建设,复兴区建设局网站现实生活中#xff0c;我们经常提到距离这个词#xff0c;本文谈的相似度就是基于距离定义的#xff0c;当两个向量之间的距离特别小时#xff0c;就说这俩个向量相似度高#xff0c;反之相似度不高。所以#xff0c;衡量相似度的指标就是距离度量。经常使用的相似度计算…现实生活中我们经常提到距离这个词本文谈的相似度就是基于距离定义的当两个向量之间的距离特别小时就说这俩个向量相似度高反之相似度不高。所以衡量相似度的指标就是距离度量。经常使用的相似度计算公式有欧几里得相似度、余弦相似度、皮尔逊相似度、曼哈顿相似度。1欧几里得相似度import numpy as np
def eculidDisSim(x,y):欧几里得相似度return np.sqrt(sum(pow(a-b,2) for a,b in zip(x,y)))
if __name____main__:anp.array([1,2,3])bnp.array([6,5,4])simeculidDisSim(a,b)2余弦相似度import numpy as np
def cosSim(x,y):余弦相似度tmpnp.sum(x*y)nonnp.linalg.norm(x)*np.linalg.norm(y)return np.round(tmp/float(non),9)if __name____main__:anp.array([1,2,3])bnp.array([6,5,4])simcosSim(a,b)3皮尔逊pearsonr相似度from scipy.stats import pearsonr
import numpy as np
def pearsonrSim(x,y):皮尔森相似度return pearsonr(x,y)[0]if __name____main__:anp.array([1,2,3])bnp.array([6,5,4])simpearsonrSim(a,b)4曼哈顿相似度import numpy as np
def manhattanDisSim(x,y):曼哈顿相似度return sum(abs(a-b) for a,b in zip(x,y))if __name____main__:anp.array([1,2,3])bnp.array([6,5,4])simmanhattanDisSim(a,b)