数据科学家必须了解的6大聚类算法 | 帆软九数云

聚类分析是一种无监督的机器学习任务。与监督学习不同,聚类算法仅依赖输入数据,并致力于在特征空间中找到自然的组或群集。无论是客户分群、异常检测,还是图像分割,都离不开它的身影。
今天就为大家拆解数据科学家必须掌握的六大聚类算法,从核心原理到适用场景,干货满满,建议收藏!
一、K-Means聚类
经典的基于距离的聚类算法,通过迭代计算将数据点划分为K个簇,使得每个数据点到其所在簇中心的距离之和最小。
算法步骤
- 步骤1:随机选择 K 个数据点作为初始聚类中心
- 步骤2:计算每个数据点与各中心的距离,常用欧氏距离,将其分配到最近的簇
- 步骤3:重新计算每个簇的均值,即新的聚类中心
- 步骤4:重复步骤 2-3,直到聚类中心不再显著变化或达到最大迭代次数
局限性
需预先指定 K 值,对非凸形状簇、异常值敏感。
使用场景
- 数据量较大且维度适中的场景,如客户分群、用户行为聚类
- 簇的形状接近球形、大小相对均匀的数据集
- 需快速得到聚类结果的场景
二、层次聚类
层次聚类是一种自下而上的聚类方法,逐步将相似的小规模对象合并为较大的簇,进而形成最终的聚类结果。
通过构建树状图实现聚类,分为两种策略:
- 凝聚式:从每个数据点作为单独簇开始,逐步合并最相似的簇,直到形成一个簇
- 分裂式:从所有数据点作为一个簇开始,逐步分裂为更小的簇,直到每个数据点为单独簇
- 相似度度量:常用欧氏距离、曼哈顿距离,簇间距离(如最短距离、最长距离、平均距离)
使用场景
- 需探索数据层次结构的场景,如生物学中物种分类、文本主题层级划分
- 数据量较小的场景,算法时间复杂度较高,不适合大规模数据
三、DBSCAN
DBSCAN 是一种基于密度的聚类算法,簇是由高密度区域组成的连通组件,能自动识别异常值。
核心概念:
- DBSCAN算法主要有两个参数:ε --- 邻域半径;MinPts --- 形成高密度区域所需的最小样本数
- 核心点:邻域内样本数 ≥ MinPts 的点
- 边界点:邻域内样本数 < MinPts,但可被核心点的邻域包含
- 噪声点:既非核心点也非边界点的点
流程:
从核心点出发,递归合并所有密度可达的点,通过核心点连接,形成簇。
使用场景:
- 需识别任意形状簇的场景,如环形、月牙形等非凸形状
- 需自动检测异常值的场景,如欺诈检测、异常行为识别
- 数据密度不均匀但存在明显密度差异的场景,如不同密度的簇
四、BIRCH
相对于K-means和DBSCAN,Birch的应用并没有那么广泛,不过它也有一些独特的优势。BIRCH是一种基于层次的聚类算法,适用于大规模数据集,能够高效处理具有高维度、海量样本的数据,同时保持较低的时间和空间复杂度,主要是通过构建聚类特征树来压缩数据。
- 聚类特征:即CF,用三元组(N, LS, SS)表示一个簇,其中 N 为样本数,LS 为样本坐标总和,SS 为样本坐标平方和,可快速计算簇的均值、半径等
- 聚类特征树:即CF Tree,一种层次数据结构,叶子节点为紧密相连的簇,即CF 簇,非叶子节点为子节点的 CF 聚合,通过限制树的高度和叶子节点容量控制内存占用
流程
先构建聚类特征树压缩数据,再对叶子节点的 CF 簇进行二次聚类得到最终结果。
使用场景
- 大规模数据集或内存有限的场景,高效压缩数据,减少内存占用
- 数据维度较低,如二维、三维,且簇密度较均匀的场景
- 需快速预处理数据以减少规模的场景
五、高斯混合模型
高斯混合模型(GMM)是一种概率密度模型,通俗来讲高斯混合模型指多个高斯分布函数的线性组合,理论上可以拟合出任意类型的分布。
核心思想:
- 复杂的数据分布可以拆分为若干个简单的高斯分布的加权组合
- 每个高斯分布称为一个 “成分”,模型通过学习每个成分的参数(均值、协方差)和权重,来拟合数据的整体分布
- 通过EM 算法 估计参数,最终每个样本被分配到多个簇的概率,可通过最大概率确定所属簇
使用场景:
- 需得到样本属于各簇的概率的场景,如用户兴趣偏好的模糊划分
- 数据符合或近似高斯分布的场景,如身高、成绩等自然数据
- 簇之间存在重叠的场景
六、谱聚类
谱聚类是从图论角度出发的聚类方法,利用图的谱特性,即特征值和特征向量,实现聚类:
- 将数据集中的每个样本看作图的顶点,样本间的相似度看作顶点间边的权重,构建一个加权无向图
- 通过对图的拉普拉斯矩阵进行特征分解,提取低维特征向量
- 使用 K-means 等传统聚类算法对低维特征向量进行聚类,得到最终结果
谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,核心是通过特征向量将高维数据映射到低维空间,使原本复杂的聚类问题简化。
使用场景:
- 高维数据或非线性可分数据,如图像分割、社交网络社区检测
- 簇形状复杂,如非凸、流形结构的场景,相比 K-Means 更灵活
- 数据量中等的场景,特征值分解复杂度较高,不适合超大规模数据
总结
不同聚类算法各有侧重,选择时需结合数据规模、维度、簇形状、是否需要层次结构等因素。通过今天的分享,希望可以帮助大家梳理各算法知识框架,理解不同算法的区别与应用方向。
对于复杂数据的计算、大数据量的数据计算,如果excel已经带不动了该怎么办?推荐大家使用在线数据分析工具九数云BI,零代码快捷处理数据、可视化数据,并在线分享给其他人员。

热门产品推荐
