层次聚类

作者: 程sir | 来源:发表于2016-02-01 15:45 被阅读344次

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

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


层次聚类过程

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

层次聚类树形图

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

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

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

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

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

相关文章

  • 数据挖掘

    数据立方体,最小内存计算 层次聚类 首先介绍聚类中的层次聚类算法。层次法又分为凝聚的层次聚类和分裂的层次聚类。 凝...

  • R 实现聚类分析_07Jul2020

    聚类分析 层次聚类 kmeans 使用eclust进行kmeans聚类或层次聚类

  • 11 聚类算法 - 密度聚类 - DBSCAN、MDCA

    09 聚类算法 - 层次聚类10 聚类算法 - 代码案例四 - 层次聚类(BIRCH)算法参数比较 七、密度聚类概...

  • 聚类分析

    均值聚类 层次聚类

  • 09 聚类算法 - 层次聚类 - CF-Tree、BIRCH、C

    08 聚类算法 - 聚类算法的衡量指标 五、层次聚类概述 层次聚类方法对给定的数据集进行层次的分解,直到满足某种条...

  • 层次聚类算法与层次聚类优化算法

    层次聚类 对给定的数据集进行层次分解或者合并直到某个条件结束 层次聚类算法分为两大类1 凝聚的层次聚类(AGNE...

  • 层次聚类

    一、了解层次聚类 层次聚类方法对给定的数据集进行层次的分解,直到满足某种条件为止,传统的层次聚类算法主要分为两大类...

  • 层次聚类

    层次聚类分支 1)分裂法从上到下对大类别进行分割2)凝聚法从下到上对小类别进行聚合 层次聚类优点 kmeans中需...

  • 层次聚类

    层次聚类算法分为:自底向上的AGNES算法和自上而下的DIANA算法 讲一下AGNES算法,没有最仔细,只有更仔细...

  • 层次聚类

    试图在不同层次对数据集进行划分,从而形成树形的聚类结构。自顶向下或自底向上均可 AGNES :自底向上 初始所以样...

网友评论

    本文标题:层次聚类

    本文链接:https://www.haomeiwen.com/subject/ekpskttx.html