来源:原始 Jupyter Notebook。内容已转换为网页阅读格式;下载原文件

层次聚类分为 聚合(agglomerative)和 分裂(divisive)两种方法,也称为 自下而上(bottom-up)和 自上而下(top-down)。聚合聚类开始将每个样本各自分到一个类,之后将相距最近的两个类合并,建立一个新类,重复此操作直到满足停止条件。而分裂聚类相反,开始将所有样本分到一个类,之后将已有类中相距最远的样本分到两个新类,重复此操作直到满足停止条件。

层次聚类需要明确下面三个要素:

  • 距离或相似度算法:闵氏距离、马氏距离、相关系数、夹角余弦等
  • 合并规则:一般通过类间距离最小来进行合并,类间距离可以是最短距离、最长距离、中心距离、平均距离等
  • 停止条件:类的个数达到某个阈值,类的直径超过某个阈值等

AGNES算法(AGglomerative NESting)

AGNES算法是经典的自下而上聚类算法。

DIANA算法(DIvisive ANAlysis)

DIANA算法是经典的自上而下聚类算法。