• 【聚类】 聚类之Kmeans基础


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

       稍后给出

  • 相关阅读:
    golangWEB框架gin学习之路由群组
    golangWEB框架gin学习之获取post参数
    golangWEB框架gin学习之获取get参数
    golang之bufio包的使用
    linux配置java环境变量
    jmeter接口测试实践
    Selenium2(java)框架设计 九
    Selenium2(java)页面对象模型(Page Object) 八
    Selenium2(java)TestNG的使用 七
    Selenium2(java)selenium常用API 六
  • 原文地址:https://www.cnblogs.com/lixusign/p/2550239.html
Copyright © 2020-2023  润新知