聚类分析:从基础到高级算法
在数据科学领域,聚类分析是一种强大的工具,用于将数据集中的相似对象分组。本文将深入探讨几种常见的聚类算法,包括层次聚类、DBSCAN 等,并通过代码示例展示它们的应用。
1. 层次聚类概述
层次聚类是一种替代基于原型的聚类方法,它具有两个主要优点:一是可以绘制树状图,帮助解释聚类结果;二是无需预先指定聚类的数量。层次聚类主要有两种方法:分裂式和凝聚式。分裂式层次聚类从一个包含所有数据的簇开始,逐步将其分裂成更小的簇,直到每个簇只包含一个样本;而凝聚式层次聚类则从每个样本作为一个单独的簇开始,逐步合并最接近的簇,直到只剩下一个簇。
2. 凝聚式层次聚类
凝聚式层次聚类的两种标准算法是单链接和全链接。单链接通过计算每对簇中最相似成员之间的距离,并合并距离最小的两个簇;全链接则是比较每对簇中最不相似的成员来进行合并。
下面是使用全链接方法进行凝聚式层次聚类的步骤:
1. 计算所有样本的距离矩阵。
2. 将每个数据点表示为一个单独的簇。
3. 根据最不相似成员之间的距离合并两个最接近的簇。
4. 更新相似度矩阵。
5. 重复步骤 2 - 4,直到只剩下一个簇。
除了单链接和全链接,还有平均链接和 Ward 链接等常用算法。平均链接根据两个簇中所有成员之间的最小平均距离来合并簇;Ward 链接则合并导致簇内总平方误差(SSE)增加最小的两个簇。
3. 计算距离矩阵
在进行层次聚类之前,需要计算距离矩阵。以下是生成随机数据样本并计算距离矩阵的代码:
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



