189 8069 5689

常见的相似或相异程度计算方法-创新互联

如何衡量数据点之间的相似或相异程度是聚类算法的基础问题,会直接影响聚类分析的效果,最直观的方法是使用距离函数或者相似性函数。

创新互联主营海口网站建设的网络公司,主营网站建设方案,app软件开发,海口h5小程序开发搭建,海口网站营销推广欢迎海口等地区企业咨询

常见的相似或相异程度计算方法。

1.计算公式

1.Minkowski distance

很多距离计算方法都可以归结为基于向量p范数的距离,即Minkowski distance。

dij=(sumsh=1|xihxjh|p)1/pdij=(sumh=1s|xihxjh|p)1/p

2.Euclidean distance

参数p = 2,Minkowski distance退化为Euclidean distance,使用Euclidean distance的聚类算法大多只能发现低维空间中呈超球分布的数据,并且对数据集中的噪声比较敏感。

dij=(sumsh=1|xihxjh|2)1/2dij=(sumh=1s|xihxjh|2)1/2

3.City-block distance

参数p = 1,Minkowski distance演变为City-block distance,City-block distance可以有效提高模糊聚类算法对噪声或者孤立点的鲁棒性。

dij=sumsh=1|xihxjh|dij=sumh=1s|xihxjh|

4.Sup distance

参数p = 无穷,Minkowski distance演变为Sup distance。

dij=maxh|xihxjh|dij=maxh|xihxjh|

5.Cosine similarity

sij=xTixj||xi||||xj||sij=xiTxj||xi||||xj||

6.Mahalanobis distance

Mahalanobis distance为原特征空间中的数据在线性投影空间欧式距离,使用Mahalanobis distance能够使得聚类算法成功发现数据集里成超椭球型分布的类簇,但是Mahalanobis distance会带来较大的计算量。

dij=(xixj)TS1(xixj)dij=(xixj)TS1(xixj)

7.Alternative distance

Alternative distance对数据集里的噪声不敏感。

dij=1exp(β||xixj||2)dij=1exp(β||xixj||2)

8.Feature weighted distance

dij=(sumsh=1wah|xihxjh|)1/2dij=(sumh=1swha|xihxjh|)1/2

2.代码

代码,

import numpy as np
a = np.array([1,2,3,4])
b = np.array([4,3,2,1])print aprint b#Euclidean distancedistEu = np.sqrt(np.sum((a-b)**2))print "Euclidean distance = ",distEu#City-block distancedistCb = np.sum(np.abs(a-b))print "City-block distance = ",distCb#Sup distancedistSup = max(np.abs(a-b))print "Sup distance = ",distSup#Cosine similaritycosineSimi = np.dot(a,b) / (np.sqrt(np.sum(a**2)) * np.sqrt(np.sum(b**2)))print "Cosine similarity = ",cosineSimi#Alternative distancebeta = 0.5distAlter = 1 - np.exp(-beta * np.sqrt(np.sum((a - b)**2)))print "Alternative distance = ",distAlter#Feature weighted distanceweigh = np.array([0.5,0.3,0.1,0.1])
distFea = np.sqrt(np.dot(weigh,np.abs(a-b)))print "Feature weighted distance = ",distFea

输出,

[1 2 3 4]
[4 3 2 1]Euclidean distance =  4.472135955City-block distance =  8Sup distance =  3Cosine similarity =  0.666666666667Alternative distance =  0.89312207434Feature weighted distance =  1.48323969742

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:常见的相似或相异程度计算方法-创新互联
文章路径:http://jkwzsj.com/article/hdeog.html

其他资讯