ELECTE 4.0 正式上线——AI Agent 来了。看看有哪些新功能
数据与分析阅读需 18 分钟

聚类分析:2026年全面指南

了解什么是聚类法中的聚合式层次聚类,它如何运作,以及如何将其应用于您的业务。一份附带Python示例的完整指南。

Agglomerative Hierarchical Clustering: Guida Completa 2026

用 AI 总结本文

你的CRM系统里塞满了联系人信息、电商订单记录、营销活动数据、客服工单,甚至还有不同团队创建的Excel表格。这些数据都存在,也都很有用。但往往都混杂在一起。

对于许多中小企业而言,问题并不在于缺乏数据,而在于缺乏体系。零售经理希望了解哪些客户的购买行为相似;运营经理希望了解哪些产品往往同时被购买;财务团队则希望区分正常行为与值得关注的行为。如果没有明确的方法,数据就只能沦为档案,而无法成为行动指南。

这时,凝聚层次聚类(agglomerative hierarchical clustering)就派上用场了。这是一种机器学习技术,通过自下而上构建层次结构,将观测值组织成不同的群组。这项技术并非新事物,而是一种成熟的方法:诞生于20世纪60年代,在意大利早在1985年就已应用于一个社会经济数据项目中,将50个大区归纳为7个主要聚类(参考资料见此)。这一点很重要,因为它说明了一个简单的道理:当数据看似混乱时,层次聚类能够揭示出可读的结构。

如果你想先从更宏观的视角了解企业数据的使用,这篇关于企业数据分析的指南是很好的补充。


目录

引言:从数据混乱到战略清晰

周一早上。销售经理打开CRM系统,市场部人员查看着成效参差不齐的营销活动,物流部则报告了库存周转情况难以预测的产品。数据虽然都在,却缺少一张有助于决策的地图。

正是在这一刻,中小企业管理者开始提出正确的问题:哪些客户的行为模式确实相似?哪些产品值得制定独立的策略?哪些分支机构或业务领域应采用不同的管理逻辑,即使目前它们都被归入同一份报告中?

凝聚层次聚类的作用就是将这种混乱转化为可读的结构。它不是一开始就强行套用事先设定好的类别,而是按照相似度组织元素,并逐步展示群组是如何形成的。这不仅仅是一次统计练习,更是对商业细分、运营优先级和定位选择的具体支持。

对于企业而言,关键并不在于了解算法的名称。关键在于善用三个实用方法:选择适合自身情况的聚类方法,在不陷入技术细节的情况下解读聚类树,以及明确在何处截断聚类层次结构,从而获得对业务有用的聚类。

这就是学术指南与管理实践中聚类应用之间的区别。

如果你正在进行细分、报表或企业数据分析以做出更快速、更具体的决策,这种方法能帮助你看到那些在Excel表格中隐而不见的关联。而借助像Electe这样的工具,即使是没有数据科学团队的中小企业,也能将这种方法融入日常流程,从数据解读到运营决策皆是如此。


什么是聚类层次聚类及其工作原理

凝聚层次聚类是自下而上进行的。每条记录最初都自成一组,然后算法比较相似度,将最接近的两个元素合并,并重复这一过程,直到构建出完整的层次结构。

对于中小企业而言,这种方法很有用,因为它反映了现实中的决策过程。起初,你并不知道究竟需要多少个细分市场。你只知道某些客户的行为模式相似,某些产品的销售模式可比,以及某些业务领域值得一并考察。聚类分析能够梳理这些关联,而无需你立即确定组数。


其运作机制非常简单:

  1. 每个观测值单独成组。一个客户、一个产品或一笔交易都是独立的聚类。
  2. 计算两个元素或两个群组之间的差异程度
  3. 根据所选规则合并最接近的聚类
  4. 更新结构并重复比较过程。
  5. 持续进行,直到形成一棵完整的层次树,展示所有可能的聚合方式。

这里有一个常令人困惑的问题。算法并不会立即输出“正确的4个簇”或“正确的6个分段”。它首先会构建一个邻域图。至于保留多少个簇,则是在后续阶段,根据业务目标来解读该层次结构时才做出的决定。

举个例子来说明。如果你正在分析客户群,可能会发现:有些客户在购买频率上相似,有些在平均消费额上相似,还有些在季节性特征上相似。聚类分析(聚合聚类)并不要求你立即确定详细程度。它既能让你看到适用于精准营销活动的微型群体,也能让你看到有助于确定预算、服务和商业优先级的宏观细分群体。


它与其他方法有何不同

与k均值法等方法相比,其实际区别很简单。使用k均值法时,你需要先决定要找出多少个聚类。而使用聚合式层次聚类法时,你先构建一个层次结构,然后再决定在何处停止。

对于管理者而言,这带来了巨大的改变。这意味着可以从一个开放式问题出发,而非预设的答案。如果销售团队怀疑存在不同的客户画像,但尚不清楚具体有多少种,这种方法能提供更有价值的视角来探讨策略。

它还有另一个令人称道之处:结果清晰易懂。你不仅能看到最终分配给各记录的标签,还能看到一个逐步展示群组如何形成的路径。正是这种分层结构,使得该方法在企业决策中颇具价值,因为它将统计分析与具体决策相结合:即在何处划分群组才能获得有用的洞察。

实用建议:当你想在确定稳定的运营细分之前先探索数据结构时,可以使用层次聚类。

如果你想将这种方法与其他适用于不同业务问题的机器学习算法进行比较,应该根据你需要做出的决策来评估,而不仅仅是根据技术本身。


距离度量与聚类法:决定聚类结果的关键选择

两家企业可能使用相同的算法,却得到截然不同的细分结果。原因几乎总是在于:如何衡量距离以及如何决定合并哪些群组


对于中小企业管理者而言,这并非技术细节。这是一个会影响经营业绩的选择。它既可能形成有助于营销活动和定价的实用数据集群,也可能产生难以解读的数据组,导致团队无法加以利用。


第一个问题:你如何衡量相似度

距离度量用于衡量两个观测值之间的差异程度。无论你分析的是客户、产品还是门店,它都是算法用来比较各个画像的规则。

最常见的有:

  • 欧氏距离。测量两点之间的直线距离。当你处理的是相互可比的数值变量时(例如营业额、购买频率和平均客单价),在经过适当归一化处理后,这种方法非常适合。
  • 曼哈顿距离。将每个变量上的绝对差值相加。当你需要一种对单个偏差不那么敏感、更接近“分块”逻辑的度量方式时,这种方法效果很好,在某些运营型数据集中很有用。

这里常会出现一个错误。如果某个变量的取值范围远大于其他变量,它最终会主导距离的计算。实际上,聚类分析几乎只会依据该列进行。因此,在选择聚类链接法之前,最好先检查数据是否已标准化。


第二个问题:如何将两个集群合并

连接方式(linkage)是在此之后发挥作用的。它比较的不是两个单独的点,而是两个已经形成的群组。

一个很好的比喻是:度量标准决定了你如何测量地图上两家商店之间的距离。而关联性则决定了你如何评估两整个连锁店之间的距离。这二者有很大区别。

主要方法包括:

  • 单连接(Single linkage)。考虑不同簇之间距离最近的两个点。
  • 全连接(Complete linkage)。考虑距离最远的两个点。
  • 平均连接(Average linkage)。使用两个簇中所有点之间距离的平均值。
  • Ward法。合并那些使内部方差增加最少的簇。


链接方法的比较

连接方法工作原理优点缺点适用场景

单连杆机构

使用两个聚类中点之间的最小距离

捕获渐进式连接

可能会形成结构松散的“链式”簇

高度关联的模式,初步探索

完全联动

使用两个聚类中点之间的最大距离

生成更紧凑的簇

这可能会使原本相邻的群体过于疏远

注重同质性的细分

平均关联度

两个聚类中点之间的平均距离

一个不错的折中方案

对业务部门来说,这一点不太容易解释

平衡分析

沃德

尽量减少簇内方差的增加

生成稳定且可读的分区

需要经过妥善处理的数值变量

客户细分、业务分析

正确的选择取决于你在公司需要做出的决策,而非某种抽象的偏好。

如果你的目标是找到由渐进相似性连接起来的核心群组,单连接在探索阶段可能会很有用。而如果你需要构建清晰的细分群体,以便分配给营销活动、价目表或服务等级,在很多情况下全连接Ward法会产生更易于解读的群组。当你既不想要过于僵硬的簇,也不想要过于拉长的结构时,平均连接通常是一个不错的折中方案。

实用建议:如果你需要向销售、营销或管理层展示聚类结果,从Ward法开始。如果结果看起来过于“牵强”,可以将其与平均连接进行比较。


如何根据企业环境进行选择

在学术指南中,相关内容往往仅止于定义。而在企业中,则需要一套决策逻辑。

请使用此音轨:

  • 想要紧凑且易于解释的簇?全连接Ward法开始。
  • 想要探索弱连接或非常不规则的结构?考虑使用单连接
  • 想要在稳定性和灵活性之间取得折中?尝试平均连接
  • 你的变量尺度不同,或指标组合不够均质?先检查数据准备和度量方式,否则连接方法会被不公正地评判。

换句话说,并不存在绝对最佳的方法。只有最符合业务需求的方法。


一个具体例子

假设你想根据购买频率、平均订单金额和购买品类数量,对一家零售中小企业的客户进行细分。

使用单连接,你可能会得到一个非常庞大的簇,其中通过彼此差异相当大的客户之间的渐进过渡连接在一起。如果你想观察行为中的连续性,这很有用,但如果你需要创建明确区分的商业行动,这种方法就不太合适了。

使用全连接,群组会变得更加紧密。每个簇内的客户彼此更相似,因此营销团队更容易构建专属推广活动。

使用Ward法,你通常会得到有序且易读的细分群体。因此,当目标不仅仅是分析,而是要做出决策时,这是一个常见的选择。


计算成本同样重要

聚类法(agglomerative hierarchical clustering)在处理大型数据集时可能会变得非常耗时。这一点会产生切实的影响:计算时间变长、内存占用增加,且用于快速测试不同聚类指标和链接方式的空间也相应减少。

对于中小企业而言,关键不在于对算法进行理论探讨。关键在于判断在现有数据、团队时间以及现有工具的条件下,分析工作是否仍具可行性。

因此,技术选择应能回答以下三个简单的问题:

  • 这些簇是否足够清晰,能够指导具体行动?
  • 该方法是否能很好地反映数据的真实结构?
  • 在没有过多人工干预的情况下,这一流程是否可持续?

ELECTE 尤为有用。它简化了配置中最技术性的部分,使不同选项的对比变得更加便捷,即使您没有内部的数据科学家团队也是如此。其价值并不在于“进行聚类分析”,而在于选择一种业务部门能够理解、验证并加以利用的细分方案。


构建和解读系统发育树:将树形图转化为实际应用

凝聚型层次聚类的真正价值体现在它最典型的输出结果上:树状图(dendrogramma)。这不是一张装饰性图表,而是一张决策地图。



如何不依赖繁琐的技术术语来解读树状图

横轴上显示的是观测数据,或是观测数据的小组。纵轴上显示的是发生聚类的距离或差异度。

最重要的视觉规则是:合并发生的位置越高,被合并的群组差异就越大

这让你能够做一件许多经理人会立刻欣赏的事情。你并不是接受某个由“黑箱”公式得出的聚类数量,而是通过观察数据结构,来决定在何处停止才是合理的。

例如:

  • 如果许多合并发生在较低的高度,说明数据中包含许多非常相似的群组;
  • 如果在某个点出现明显的垂直跳跃,你很可能正在合并已经相当不同的群组;
  • 这个跳跃点通常标志着一个适合截断树状图的好位置。

树状图将一个统计决策转化为一个视觉决策。因此,它不仅在Python笔记本中有用,在会议中同样很有价值。

视觉辅助材料有助于加深对概念的理解:


如何选择切割点

很多人卡在这里。“我需要运行多少个集群?”老实说,这取决于你想解决什么问题。

如果你需要采取商业行动,过多的聚类会使操作变得复杂。如果你正在分析差异巨大的行为,过少的聚类则可能掩盖有用的模式。

一个实用的标准是:

  1. 观察树状图中最大的垂直跳跃
  2. 在某个显著跳跃处画一条水平线
  3. 数一数被切断的分支数。这就是最终得到的聚类数量。

假设这条分割线截取了四条主分支。这样你就得到了四个区间。此时,管理工作就不再是统计性的,而是变成了解释性的。

试着问问自己:

  • 这些分组对市场营销、销售或运营是否有意义?
  • 我能否用易懂的方式描述它们?
  • 每个分组是否会引出不同的行动?

实操建议:最好的树状图不是最优雅的那个,而是能让你在需要使用分群结果的人面前,有理有据地说明分群选择的那个。


Python与Scikit-learn实用指南

你拥有一组客户数据、一些有用的变量以及一个具体的问题:是否存在需要采取不同商业措施的客户群体?Python 正是用来将这个问题转化为一个快速、易读且可复现的测试。

通常会用scikit-learn来构建模型,用SciPy来绘制树状图。技术部分并不难。对于中小企业来说,真正决定成败的是把数据准备好,并有条理地解读结果。


正确准备数据

最常见的错误其实源于算法之前。如果你将“年营业额”和“订单数量”这类变量放入同一个模型中,规模更大的变量往往会占据更大的权重。因此,最终的聚类结果更多地反映了计量单位的不同,而非客户或产品之间的真实相似性。

标准化就是为了避免这个问题。实际上,就是把数值变量放到一个可比较的尺度上。这是个简单的选择,但会实实在在地改变结果,尤其是如果你想使用Ward连接法,它在处理准备充分的数值数据时效果很好。

在发布模型之前,请检查以下三点:

  • 尺度不同的数值变量。对它们进行标准化。
  • 分类变量。将它们转换为模型可用的格式。
  • 缺失值。提前处理好,否则聚类会变得不稳定甚至无法使用。

这里有一个有用的比喻:你将客户进行比较,仿佛要用同一种计量单位来衡量他们。如果一个客户以欧元为单位衡量,另一个则以毛额为单位,那么这种比较从一开始就不平衡。


基本实现示例

以下是一个使用 scikit-learn 的基本示例:

import pandas as pdfrom sklearn.preprocessing import StandardScalerfrom sklearn.cluster import AgglomerativeClustering# Esempio: dataset con variabili numerichedf = pd.DataFrame({"frequenza_acquisto": [12, 10, 2, 3, 15, 1],"scontrino_medio": [80, 75, 20, 25, 95, 15],"numero_categorie": [5, 4, 1, 2, 6, 1]})# 1. Scalingscaler = StandardScaler()X_scaled = scaler.fit_transform(df)# 2. Modellomodel = AgglomerativeClustering(n_clusters=3,linkage="ward")# 3. Assegnazione clusterlabels = model.fit_predict(X_scaled)df["cluster"] = labelsprint(df)

代码很简短。管理层对代码的理解更为重要。

在这个例子中,你是在告诉模型:“把这些观测值分成3个簇,逐步合并最相似的样本”。最终结果就是cluster这一列,也就是分配给数据集中每一行的标签。从这里开始,才是对业务真正有用的工作:弄清楚是什么区分了0号簇和1号簇,以及哪些决策值得采取。

如果你还想可视化完整的层次结构,通常会用scipy.cluster.hierarchy.linkage配合dendrogram。Scikit-learn帮你得到分组结果,SciPy帮你看清它们是如何形成的。


真正重要的三个决定

在企业环境中,集群的价值并不取决于笔记本电脑的复杂程度,而是取决于三个关键决策的质量。

  • 要包含哪些变量。如果选择了作用不大的列,得到的簇会很难解读。
  • 要用哪种连接法。Ward在标准化的数值数据上通常是不错的起点,但并非在所有问题上都是最佳选择。
  • 多少个簇能让输出真正可用。一个有8个分组的模型看起来可能很精细,但对市场营销、销售或运营来说可能变得难以管理。

这里体现了技术练习与决策工具之间的区别。管理者不需要进行抽象的“聚类分析”。他需要的是能够命名、解释和运用的细分市场。

因此,如果你正在使用Python进行开发,不要仅仅停留在模型分配的标签上。观察每个聚类的变量均值,对比得出的特征,并立即自问:这个群体是否需要采取与其他群体不同的处理方式?如果答案是否定的,那么问题并不出在代码上。通常问题出在变量的选择、聚类链接方法或阈值设定上。


助力业务增长的应用案例

一个算法真正有价值,是在它能改变某个具体行动的时候。凝聚层次聚类的用处,就在于它能把数据库中的行,转化为业务真正能够使用的细分群体。


真正对营销有帮助的客户细分

许多中小企业对客户的细分方式依然非常简单。仅按年龄、地理区域,或许再加个营业额区间。这虽是一个开端,但往往还不够。

通过分层聚类分析,您可以整合诸如购买频率、平均消费额、偏好品类以及对促销活动的反应等行为变量。其结果不仅仅是一份用户画像清单,而是一套分层结构,它能清晰展示哪些群体之间具有高度关联性,哪些群体则需要针对性地采用不同的营销策略。

这有助于市场营销团队做出更精准的决策:

  • 忠实客户,需要用忠诚度计划来维护
  • 偶发型买家,需要用专门的营销活动来激活
  • 新客户,需要引导他们完成第二次购买
  • 不稳定客户群体,需要在他们流失之前加以监控


产品与库存

在零售和电子商务领域,聚类分析不仅有助于了解消费者,也有助于了解商品。

您可以根据销售模式、搭配购买、季节性或促销响应情况对产品进行分组。这有助于优化各项运营决策:

  • 商品组合。了解哪些产品有相似的动态表现。
  • 促销活动。搭建更合理的组合套装。
  • 库存。避免把行为差异很大的商品一视同仁地处理。

此处的管理优势显而易见。你并非孤立地审视单个SKU,而是识别出可以统一规划的业务类别。

当产品按相似的方式聚成簇时,补货和促销方面的决策也会随之变得更加一致。


财务风险与网络安全

在金融领域,聚类分析有助于区分正常模式与需要进一步分析的模式。它不能替代监管审查或专业模型,但可以作为一种有用的工具,用于归类相似行为并发现异常情况。

网络安全领域也有一个值得关注的方向。一个新兴视角是,将先进的AHC方法用于意大利中小企业的网络流量分析。2025年,针对意大利IT类中小企业的勒索软件攻击上升了27%,而基于内积的AHC框架在意大利网络流量数据集上将异常值检测能力提升了18%(此处引用的JMLR参考文献)。

这篇文章值得仔细阅读。这并不意味着每家中小企业都必须立即构建一套基于聚类的安防系统。但这确实意味着,分层聚类不仅限于营销或零售领域。它可以成为一种跨领域的分析框架,涵盖从客户行为分析到风险监控的各个方面。


ELECTE 如何为您的企业ELECTE 聚类分析ELECTE

你的客户数据存储在CRM系统中,订单数据在电商平台,利润率数据在Excel文件里,还有一些运营信息散落在企业管理系统中。只要这些数据彼此孤立,聚类分析就只能停留在理论层面。对于中小企业而言,问题并不在于能否认识到聚类分析的实用价值,而在于如何生成清晰、一致且足够可靠的聚类结果,从而为商业或运营决策提供依据。

正是在这一点上,ELECTE 这样的平台ELECTE 人工操作,并使该方法对决策者(而非程序员)来说更加实用。


内部团队究竟在哪个环节受阻

实际上,常见的障碍主要有四种。

  • 数据来源分散,分布在CRM、电商平台、本地文件和财务工具中
  • 变量难以准备,因为它们的量纲和单位各不相同
  • 连接方式的选择不够直观,尤其是当不清楚应优先考虑紧凑性、稳定性还是对异常值的敏感度时
  • 输出结果可读性差,对于不每天使用Python的管理者和运营团队来说尤其如此

最容易被低估的一点正在于此:算法本身还不够。需要一套完整的流程,把原始数据转化为业务真正能使用的细分结果。Electe已经在第一步就提供了帮助,以有序的方式连接企业各类数据来源。如果你想了解有哪些可用的集成方式,可以查看Electe可连接的数据来源页面。


此外还存在第二个难题,它更多是战略层面的,而非技术层面的。如果选择了错误的关联方法,即使模型运行正确,生成的分组对企业而言也可能价值有限。管理者无需了解每一个数学细节,但必须明白哪种配置能生成足够稳定的细分群体,从而支撑营销活动、库存策略或客户组合调整。


自动化工作流带来了哪些变化

借助自动化工作流,该流程更像是一条组织有序的生产线,而非一系列手工测试。数据输入后,会经过一致的处理,系统会对比多种配置,最终以易于阅读的形式输出结果。

具体来说,流程可遵循以下步骤:

  1. 汇总数据,将企业各系统的数据整合到统一的环境中。
  2. 按一致的规则准备变量,这样营业额就不会相对于购买频率产生过度失衡的权重。
  3. 比较多种聚类设置,无需手动重复每一次尝试。
  4. 解读可理解的分组,得到对销售、市场营销或运营团队有实际意义的标签和模式。
  5. 将聚类结果转化为决策,例如商业优先级、促销细分或补货策略。

优势并不在于自动化本身,而在于团队的时间得以投入到更关键的环节:解读树状图、选择合适的聚类层次,并决定如何处理这些聚类。

对于中小企业而言,这带来了巨大的变化。与其抽象地纠结于该使用Ward、平均值还是完全聚类法,不如进行务实的比较:哪种方法能为我们的客户、产品和目标生成更清晰的聚类?即使没有内部数据科学家团队ELECTE 这个问题ELECTE 更易于解决。

因此,自动化并不能取代管理者的判断,而是将其置于流程中的恰当位置。


结论与要点

凝聚层次聚类不仅仅是大学课程里的一个话题。它是一种切实可行的工具,能够为原本零散的数据带来秩序。

需要牢记的关键点虽少,却至关重要:

  • 自下而上进行。每个观测值最初都是独立的,之后逐步与相似的观测值合并。
  • 一开始不需要设定k值。这使得该方法在你还不知道应该分成多少个细分群体时非常实用。
  • 连接方式的选择会改变结果。Ward、complete、average和single不会产生相同的结构。
  • 树状图有助于做出决策。它不仅仅是一种可视化工具,更是将统计结构转化为管理行动的工具。

对于中小企业而言,真正的价值就在于此:在不完全依赖直觉的情况下,更深入地了解客户、产品和运营模式。如果您的团队具备技术能力,可以从Python和scikit-learn入手;但如果您希望更快地获得可读性强的洞察,采用自动化方法则能减少阻力并节省时间。

关键不在于使用“高级”算法。关键在于做出更清晰的决策,兼顾更多背景信息,同时减少干扰。


如果你想把分散的数据转化为清晰的细分和可执行的决策,来了解Electe如何让分析变得触手可及,即使没有数据科学团队也能实现。你可以连接自己的数据来源,获得易于理解的洞察,更快地从分析走向行动。

评论

暂无评论——来发表第一条吧。