层次聚类(学习笔记

2023-12-28 14:02:12

使用Python scipy库提供的3种层次聚类算法的结果:

(1)单链接(MIN):

????????也称为最小距离法(minimum-distance method)或最小连结法(minimum-linkage method)。

????????在单链接方法中,两个群集之间的距离定义为一个群集中的最近成员与另一个群集中的最近成员之间的距离。

具体步骤如下:

  1. 计算每对数据点之间的距离。
  2. 将每个数据点作为一个单独的群集。
  3. 找到距离最近的两个群集,将它们合并为一个新的群集。
  4. 重复步骤3,直到所有数据点都属于一个群集。

单链接方法的特点是它倾向于形成长条状的聚类。由于它依赖于最小距离,容易受到异常值的影响,并且可能产生“链式效应”,即将不相似的群集连接在一起。

(2)全链接(MAX):

????????也称为最大距离法(maximum-distance method)或最大连结法(maximum-linkage method)。

在全链接方法中,两个群集之间的距离定义为一个群集中的最远成员与另一个群集中的最远成员之间的距离。

具体步骤如下:

  1. 计算每对数据点之间的距离。
  2. 将每个数据点作为一个单独的群集。
  3. 找到距离最远的两个群集,将它们合并为一个新的群集。
  4. 重复步骤3,直到所有数据点都属于一个群集。

????????全链接方法的特点是它倾向于形成球状的聚类。由于它依赖于最大距离,对异常值不敏感,但也容易受到高密度区域的影响,可能会形成不平衡的群集。

(3)组平均值(group average):

????????也称为平均链接(average linkage)方法。

????????在这种方法中,两个群集之间的距离被定义为一个群集中的每个点与另一个群集中的每个点之间的平均距离

具体步骤如下:

  1. 计算每对数据点之间的距离。
  2. 将每个数据点作为一个单独的群集。
  3. 找到两个群集,其所有点之间的平均距离最小,将它们合并为一个新的群集。
  4. 重复步骤3,直到所有数据点都属于一个群集。

????????组平均值方法的特点是对异常值相对不敏感,且在处理噪声较大的数据时效果较好。它倾向于形成均衡的群集,对于较大的数据集也相对高效。

该库还提供了一些其他分层聚类算法,包括基于质心(centroid-based)和Ward方法。

(4)基于质心

(5)Ward方法

????????Ward方法是一种层次聚类算法中使用的一种合并策略,它旨在最小化合并后的群集的方差增加量。在层次聚类中,通过将最相似的群集合并来构建一棵树状结构,最终形成一个完整的聚类结果。

????????Ward方法的原理是在每次迭代时选择两个群集合并,以最小化合并后总方差的增加。它评估合并两个群集之后,新群集的方差与合并前两个群集各自的方差总和之差。该方法更倾向于合并方差增长最小的群集,因此它可以产生更平衡、更紧密的聚类。

????????在层次聚类中,Ward方法常用于scipy.cluster.hierarchy中的linkage函数,其中合并策略参数设置为'ward'。该方法在某些情况下能够产生更均衡和更紧凑的聚类结果,尤其适用于聚类数量较少、群集大小差异较大或群集之间差异较大的情况。

文章来源:https://blog.csdn.net/qq_55552561/article/details/135165713
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。