层次聚类

层次聚类(hierarchical clustering)算法极为简单:有N多节点,最开始认为每个节点为一类,然后找到距离最近的节点“两两合并”,合并后的两个节点的平均值作为新的节点,继续两两合并的过程,直到最后都合并成一类。

下图表明了聚类的过程,距离最近的节点合并(第一步中,如果有两对节点距离一样,那就同时合并)


层次聚类过程

如果用数据挖掘工具来做(如SPSS),一般会生成一个树形图,那么我们可以根据分析问题的具体情况,选择到底最终要聚成几类:

层次聚类树形图

如果从纯理论上讲,判断聚成几类可以参考每一步合并的“距离”是不是有明显差距,我们的例子中:

第一步:A和B,C和D合并时候,距离很近,就算大概是1(就是肉眼估算,没有什么测量)
第二步:CD和E合并,距离其实也很近,大概2
第三步:CDE和F合并,距离远了,大概8
第四步:CDEF和AB合并,距离大概9

可见,第二步到第三步,距离有了一个质的提升,说明相对接近的都已经合成一推儿,开始远距离“结合”了,因此,就在第二步的地方结束,应该是一个较好的聚类选择,也就是聚成3类。

当然,真正聚成几类一定不要从理论出发,还是要看实际案例中,聚成几类最合理,最好解释,最能说明问题

层次聚类运算速度比较慢,因为要每次都要计算多个cluster内所有数据点的两两距离,处理大量数据时非常吃力,最大的优点,就是它一次性地得到了整个聚类的过程,只要得到了上面那样的聚类树,想要分多少个cluster都可以直接根据树结构来得到结果,改变 cluster数目不需要再次计算数据点的归属。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 所谓聚类,就是将相似的事物聚集在一起,而将不相似的事物划分到不同的类别的过程,是数据分析之中十分重要的一种手段。比...
    Ten_Minutes阅读 2,882评论 0 7
  • 层次聚类(Hierarchical Clustering)是聚类算法的一种,通过计算不同类别数据点间的相似度来创建...
    upshi阅读 27,331评论 3 9
  • 姓名:梁祥学号:17021210935 【嵌牛导读】:层次聚类方法作为一种能够在一定程度上将聚类过程显化的聚类方法...
    Leon_66阅读 3,548评论 1 2
  • Birch层次聚类算法 标签(空格分隔): CF树建立 主要借鉴的网文地址,并进行大量引用:【非常浅显易懂】htt...
    AresAnt阅读 1,532评论 0 1
  • 中国有几位国民少妇,她们的那种媚态,那个骚劲,象极…… 哦,不是说这个, 我是说,她们骂老公时出言的恶毒,打老公时...
    江湖觅道阅读 301评论 0 0