龙空技术网

机器学习——Hierarchical and Density Clustering层次密度聚类

AI干货课程分享 262

前言:

而今大家对“最长距离的层次聚类算法”都比较注意,各位老铁们都需要了解一些“最长距离的层次聚类算法”的相关内容。那么小编也在网上网罗了一些关于“最长距离的层次聚类算法””的相关文章,希望你们能喜欢,各位老铁们快快来学习一下吧!

Hierarchical and Density Clustering 基于层次和密度的聚类

Created: Apr 24, 2020 4:56 PM

K-Means的弊端

K-Meas算法并不是使用所以情况,K均值算法综述试图寻找高维领域呈原形、球形或超球面的类,对与下图三个类别,K-Means算法就无法正确区分三个类别,

Hierarchical Clustering 层次聚类agglomerative clustering 凝聚聚类

AgglomerativeClustering是层次聚类的一种,使用自底向上方法执行分层聚类:每个观察都从其自己的聚类开始,并且聚类被连续合并在一起,分为单链接聚类、全链接聚类、平均距离链接、word'method离差平方和

单链单链接聚类

层次聚类的结果能让我们直观的了解类之间的关系。我们通过示例来分析

假如一家披萨店想对它的客户位置做一个聚类处理,以便更好的确定在哪里开分店,

我们使用单链接聚类法将它做聚类处理。

第一步,我们假设每一个点是一个类,并为每个点标记。

第二步,计算任意两点之间的距离,然后选择两个类之间的最短距离(4,5),并用括号把它们链接起来,然后继续寻找(1,2)(6,8),这样我们就得到三个类,并把它标记在右边。

现在问题就有点不同,7号点和黄色的类的距离是多少呢,是7到6的距离还是到8的距离?还是平均距离?这是区分不同层次聚类的方法的一个标准,单连接聚类关注的是类的最短距离,也就是6到7的距离,因为6是距离7最近的点,所以这个新类中含有另外一个类作为子类,然后就可以据此生成系统树图。

那么我们分为几个类别呢,如果我们输入的类的数量是2,我们就可以从最上边切割。

衡量类之间的距离,是区分不同层次聚类的一种方法,单连接聚类法关注的是两个类之间的最短聚类,然后比较,选择最短聚类,然后把这两个类放到一个类中,这容易导致形成狭长的类,大多数情况下,我们还是想要紧凑的类。

我们可以看以下K-Means和单链接层次聚类的对比:

全链接聚类

在上图的情况下,全连接聚类法关注的是两个类中两点之间的最远距离,全连接聚类法中,这样的距离衡量方法使得产生的类比较紧凑。

平均值聚类

平均值,计算两类中任意两点的聚类,然后取平均值,

Ward' Method离差平方和

先计算出两个类所有点的中心点,也就是计算两个类所有点的平均值,然后计算出两个类距离中心点的距离C,再减去两个类分别距离其的中心点距离A、B

优缺点

优点

- 得到的层次表达信息丰富- 把数据集的聚类结构视觉化- 数据内部有层次关系时,更有用,例如生物学

缺点

- 对噪音和离群值很敏感,所以需要提前清理噪音、离群值- 计算量大Density Clustering 密度聚类

指的是具有噪声的基于密度的聚类方法,对于有噪声的数据有很强的使用性,它一般是将密集分布的点聚类,其它剩余的点标记为噪音

DBSCAN在开始时任意选择一点,周围没有一个点,所以标记为噪声点。

在选择下一个点,周围只有两个点,这个数量不够我们定义为一个类(5个点),所以标记为噪声点。

我们看下一个点,周五有5个点,所以我们就把它标记为第一个类,并标记中心点。

继续执行此步骤,找到类后继续以它的边界点作为核心点寻找,并标记最后的边界点。

K-Means和DBSCAN对比

DBSCAN可视化

优缺点

优点:

- 不需要指明类的数量- 能灵活的找到并分离各种形状和大小的类- 可以处理噪声点和离散点

缺点:

- 第一个是将两个聚类中可到达的边界点分配给首先找到它们的聚类,并且由于以任意顺序访问了这些点,因此在这种情况下,不能保证DBSCAN返回相同的聚类- 找到不同密度的类方面有一些困难示例

dataset_2 = pd.read_csv('varied.csv')[:300].valueshelper.plot_dataset(dataset_2, xlim=(-14, 5), ylim=(-12, 7))
eps_values = [0.3, 0.5, 1, 1.3, 1.5]min_samples_values = [2, 5, 10, 20, 80]helper.plot_dbscan_grid(dataset_2, eps_values, min_samples_values)

参数调整方法

许多小集群。 超出了数据集的预期。可以增加min_samples和epsilon

大多数点属于一个类,减少epsilon并增加min_samples

大多数/所有数据点都标记为噪声,增加epsilon并减少min_samples

除了极度密集的区域外,大多数/所有数据点都是标记为噪音。 (或者所有点都标记为噪声)。减少min_samples和epsilon

标签: #最长距离的层次聚类算法 #密度聚类和层次聚类的区别