聚类分析 | 步骤与分类
来源:互联网
时间:2026-06-23 14:05:54
掌握聚类分析,洞察数据集的内在结构。
核心内容:
- 聚类分析的定义及其应用实例
- 聚类方法的分类及算法介绍
- 聚类分析的详细步骤与实施要点
聚类分析是一种数据归纳技术,核心目标是把数据集中的观测值按照相似程度划分成若干个“类”或“簇”。每个类里都是一组彼此相似、但与其它类中的对象差异明显的观测值。听起来有点抽象?其实它在现实中的应用非常广泛——比如医学上识别抑郁症的不同亚型,或者市场营销中给消费者做人群画像,都是聚类分析的典型场景。
一、分类
目前主流的聚类方法主要分为两大类:层次聚类和划分聚类。理解它们的差异,是选对算法的第一步。
的思路是“自底向上”:一开始每个观测值自成一类,然后每次把最相似的两个类合并,直到所有观测值最终归为一个大的类别。这个过程就像一个树状生长的过程。常用的算法包括单联动、全联动、平均联动、质心法以及Ward方法。每种算法的聚合策略不同,比如单联动基于最近距离,Ward方法则追求最小化类内方差。
的思路正好相反,它需要预先指定要分成多少个类(比如K个),然后随机地把观测值分配到K个类中,再通过迭代不断调整,直到类内的紧凑度达到最优。其中最常用的算法是K均值(K-means)和围绕中心点的划分(PAM)。前者计算速度快,适合大样本;后者对异常点更稳健。
二、步骤
有效的聚类分析绝不是一步到位的,而是一个多阶段、需要反复权衡的决策过程。每一个环节都可能直接影响最终结果的质量。一个完整的聚类分析通常包含以下11个典型步骤。
:这是最关键的一步。变量选得好,聚类结果才有意义;变量选错了,哪怕用再高级的算法也无力回天。必须聚焦那些可能对识别和理解数据分组有重要影响的变量。
:不同变量可能有不同的量纲和数值范围,如果不做处理,数值大的变量会主导距离计算。最常用的方法是把每个变量标准化为均值为0、标准差为1的变量。
:极端值可能会严重扭曲聚类结果。可以使用
outliers包中的函数来检测并剔除单变量的异常离群点。
:两个观测值之间的相似性需要通过距离来量化。最常用的是欧几里得距离,当然根据数据类型也可以选用曼哈顿距离、余弦相似度等。
:这一步需要结合样本量来考虑。层次聚类在小样本(比如150个观测值以内)场景下很实用,因为它的计算复杂度较高;如果数据量大,划分聚类(尤其是K均值)效率更高。
:根据上一步选定的方法,运行一次或多次聚类,获得初始的聚类方案。
:这是聚类分析中最难拿捏的环节。常见做法是尝试不同的类数(比如从2到K),然后比较不同方案下的解的质量,比如使用轮廓系数、CH指标等。
:一旦类数目确定下来,就可以提取出最终的子群划分,形成稳定的聚类结果。
:层次聚类的结果通常用树状图展示,一目了然;划分聚类的结果则常用双变量聚类图,或者用降维手段(如PCA)把高维数据投影到二维空间来观察。
:聚类出来的结果不是终点,必须为每个类赋予含义和名称。这一步需要结合领域知识,分析每个类的特征,解释它们代表了什么。
:聚类结果是否稳定可靠?可以利用
fpc、
clv、
clvalid等R包中提供的函数,评估聚类解的稳定性,比如通过重采样检验类的重现性。