作者:似是故人来 | 来源:互联网 | 2023-06-12 15:28
一、相异度计算
基于空间的距离
1、欧几里得距离:
2、曼哈顿距离:
3、闵科夫斯基距离:
(可见:欧氏距离和曼哈顿距离都是闵科夫斯基距离在P=1,2下的特例)
标量规格化
由于标量大小不一致导致对空间映射会同质化,所以需要对属性在[0,1]空间上映射,以来规格化。
映射公式为:
(ai 是一个属性)
二、二元变量
二元变量就是只能取0、1 的变量。
二元相异度计算公式: 取值不同的同位属性个数
/ 所有属性个数
例如:X={1,0,0,0,1,0,1,1},Y={0,0,0,1,1,1,1,1}。
二元相异度为 3/8
非对称二元相异度计算公式:取值不同的同位属性个数 / 所有属性个数 - 值为0的同位属性个数
非对称二元相似度计算公式: 1 - 非对称二元相异度
jaccard系数:非对称二元相似度
三、分类变量
是二元变量的扩展 只不过枚举种类个数为多个
分类变量相异度计算公式:取值不同的同为属性个数 / 所有属性个数
四、K均值聚类
所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个簇。
K-means聚类算法:
1、从D中随机取k个元素,作为k个簇的各自的中心。
2、分别计算剩下的元素到k个簇中心的相异度,将这些元素分别划归到相异度最低的簇。
3、根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。
4、将D中全部元素按照新的中心重新聚类。
5、重复第4步,直到聚类结果不再变化。
6、将结果输出。
五、MAHOUT中的分布式Kmeans算法实现
稍后给出