【笔记】【机器学习基础】凝聚聚类

二、凝聚聚类

凝聚聚类(agglomerative clustering)指的是许多基于相同原则构建的聚类算法。
原则:先声明每个点是自己的簇,然后合并两个最相似的簇,直到满足某种停止准则为止。
停止准则:簇的个数
因此相似的簇被合并,直到仅剩下指定个数的簇。
链接准则:规定如何度量“最相似的簇”。
这种度量总是定义在两个现有的簇之间

3种选项:
1、ward:ward为默认的选项。word挑选两个簇来合并,使得所有簇的方差增加最小。这通常会得到大小差不多相同的簇。
2、average:将簇中所有点之间平均距离最小的两个簇合并
3、complete(最大链接):将簇中点之间最大距离最小的两个簇合并
(1)聚类三个簇

mglearn.plots.plot_agglomerative_algorithm()

在这里插入图片描述
最开始时,每个点各成一簇 。然后在每一步中,距离相聚最近的两个簇被合并,直到只剩下3个簇。

(2)构造模型并得到训练集上簇的成员关系(fit_predict)

from sklearn.cluster import AgglomerativeClustering
X, y = make_blobs(random_state=1)

agg = AgglomerativeClustering(n_clusters=3)
assignment = agg.fit_predict(X)

mglearn.discrete_scatter(X[:, 0], X[:, 1], assignment)
plt.legend(["Cluster 0", "Cluster 1", "Cluster 2"], loc="best")
plt.xlabel("Feature 0")
plt.ylabel("Feature 1")

在这里插入图片描述
凝聚聚类方法为选择正确的个数提供了一些帮助,如下:

1、层次聚类与树状图

凝聚聚类生成了所谓的层次聚类(hierarchical clustering)。聚类过程迭代进行,每个点都从一个单点簇变为属于最终的某个簇。

(1)凝聚聚类生成层次化的簇分配以及带有编号的数据点

mglearn.plots.plot_agglomerative()

在这里插入图片描述
(2)绘制树状图(使用scipy)

from scipy.cluster.hierarchy import dendrogram, ward

X, y = make_blobs(random_state=0, n_samples=12)

linkage_array = ward(X)

dendrogram(linkage_array)

ax = plt.gca()
bounds = ax.get_xbound()
ax.plot(bounds, [7.25, 7.25], '--', c='k')
ax.plot(bounds, [4, 4], '--', c='k')

ax.text(bounds[1], 7.25, ' two clusters', va='center', fontdict={'size': 15})
ax.text(bounds[1], 4, ' three clusters', va='center', fontdict={'size': 15})
plt.xlabel("Sample index")
plt.ylabel("Cluster distance")

在这里插入图片描述树状图在底部显示数据点(编号从 0 到 11)。然后以这些点(表示单点簇)作为叶节点绘制一棵树,每合并两个簇就添加一个新的父节点。
从下往上将数据点合并,1和4首先被合并,6和9被合并为一个簇,以此类推。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 聚合层次聚类(Agglomerative Clustering)是一种常见的聚类算法,其基本思想是将数据逐渐合并成更大的类别,直到达到预定的聚类数目为止。 具体来说,聚合层次聚类从每个数据点作为单独的类别开始,然后根据相似度指标,将最相似的两个类别合并成一个新的类别,直到所有数据点都属于同一个类别或者达到预设的聚类数目。 聚合层次聚类可以通过不同的相似度指标来度量不同类型的数据之间的相似性,常用的相似度指标包括欧几里得距离、曼哈顿距离、余弦相似度等。在合并过程中,可以采用不同的合并策略,如单链接、完全链接、平均链接等。 聚合层次聚类通常需要计算全部的数据点之间的相似度,因此计算复杂度较高。但它具有易于理解和可视化的优点,可以通过树状图表示聚类过程,帮助用户更好地理解聚类结果。 ### 回答2: 凝聚聚类是一种常见的聚类方法,也被称为自下而上聚类。该算法从一个初始状态开始,每次将最接近的数据点或群体合并在一起,不断地形成丰富的层次化结构,最终形成聚类凝聚聚类的主要特点是可以在未知初始聚类数的情况下自动确定聚类数量。 凝聚聚类的工作原理很简单。首先,它计算每个样本之间的相似度或距离并将它们作为起点。然后,聚类一步步合并这些相邻点,直到所有点都被聚类成一组。 凝聚聚类通常有两种方法来评估点(或者样本)之间的距离: 1. 层次聚类 层次聚类的倾向是使得最小群组最大化或者最大群组最小化。层次聚类的步骤通常是计算每个点之间的距离,然后将最近的点成对合并在一起,这样就形成了一个群组。接下来,再将最相似的群组再次合并,直至最终只剩一个群组。 2. 相关聚类 相关聚类评估数据点之间的相似度。最常见的方法是基于距离度量作为相似性的函数。相关聚类与层次聚类十分相似,不同之处在于在相关聚类中,每个群组都是基于它们之间的相似性。 凝聚聚类的主要优点是可以自动识别出稠密和疏散聚类,并且可以处理噪声和异常点,但是其计算和内存开销均比较大。在实际使用中,还需要根据具体情况选择合适的距离函数,以便得到最优的聚类结果。 ### 回答3: 聚合性聚类是一种基于相似性度量的无监督学习算法,也称为自下而上聚类。在聚合性聚类中,每个数据点被视为一个单独的簇,然后簇之间通过相似性度量来逐步合并,以形成完整的层次结构,直到所有簇合并成为一个单一的簇。 聚合性聚类算法通常包括以下步骤: 1. 初始化:将每个数据点视为一个单独的簇。 2. 相似性度量:对于每对簇,计算它们之间的相似性得分。 3. 合并:通过选择得分最高的簇对来合并簇,将它们合并成一个新的簇。 4. 重复上述步骤,直到所有簇都被合并为一个单独的簇。 在聚合性聚类的过程中,相似性度量是关键因素。常用的相似性度量包括欧几里德距离、曼哈顿距离和马氏距离等。根据不同的数据类型和应用场景,我们可以选择不同的相似性度量来进行聚类。 聚合性聚类的一个重要应用是图像分割。在这种情况下,数据点是像素,而相似性度量可以基于像素之间的亮度、颜色和纹理等特征进行计算。通过聚合性聚类,我们可以将图像分割成不同的区域,从而提取出有用的图像特征。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值