一、相异度计算
 
 
    基于空间的距离
 
 
    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算法实现

   稍后给出

posted on 2012-06-15 09:48  真心的不懂  阅读(1999)  评论(0编辑  收藏  举报