
作者 | CDA数据分析师
应用聚类算法比选择最佳算法要容易得多。每种类型都有其优缺点,如果您要争取一个整洁的集群结构,则必须加以考虑。数据聚类是安排正确的整个数据模型的重要步骤。为了进行分析,应根据共同点整理信息量。主要问题是,什么通用性参数可以提供最佳结果,以及“最佳”定义中到底蕴含着什么。
本文对于新手数据科学家或想刷新其在该主题上的记忆的专家应该是有用的。它包括最广泛使用的聚类算法及其深入的综述。根据每种方法的特殊性,提供了考虑其应用的建议。
四种基本算法以及如何选择一种
根据聚类模型,可以区分四种常见的算法类别。一般而言,算法不少于100种,但是它们的流行程度以及应用领域都很适中。
分层聚类
基于整个数据集对象之间距离的计算,聚类称为基于连通性或分层。根据算法的“方向”,它可以组合或反过来划分信息数组- 聚集和分裂的名称正是源于这种精确的变化。最为流行和合理的类型是聚集型,您可以从输入数据点的数量开始,然后将这些数据点组合成越来越大的簇,直到达到极限。
基于连接的聚类的最突出示例是植物的分类。数据集的“树”以特定物种开始,以一些植物王国结束,每个植物王国都由更小的簇组成(门,类,阶等)。
应用基于连接性的算法之一后,您将收到树状图数据,该树状图向您展示了信息的结构,而不是集群上的不同分隔。这样的功能可能既有好处,也有坏处:算法的复杂性可能变得过高或根本不适用于几乎没有层次的数据集。它还显示出较差的性能:由于存在大量的迭代,因此完整的处理将花费不合理的时间。最重要的是,使用分层算法不会获得精确的结构。
同时,从计数器要求的输入数据下降到数据点的数量,该点不会对最终结果产生实质性影响,也不会影响预设的距离度量,该距离度量也可以进行粗略测量和近似计算。
KMeans聚类
根据我的经验,基于质心的聚类由于其比较简单而成为最常出现的模型。该模型旨在将数据集的每个对象分类为特定的聚类。簇数( k)是随机选择的,这可能是该方法最大的“弱点”。由于与 k近邻(kNN)相似,该 k均值算法在机器学习中特别受欢迎。
计算过程包括多个步骤。首先,选择输入数据,这是应将数据集划分为的大致聚类数。聚类的中心应放置在尽可能远的位置,这将提高结果的准确性。其次,该算法找到数据集的每个对象与每个聚类之间的距离。最小坐标(如果我们在谈论图形表示)确定了将对象移动到哪个群集。之后,将根据所有对象坐标的平均值重新计算聚类的中心。重复算法的第一步,但是重新计算了簇的新中心。除非达到某些条件,否则此类迭代将继续。例如,当集群的中心距上一次迭代没有移动或移动不明显时,该算法可能会结束。
尽管数学和编码都很简单,但k-means仍然存在一些缺点,因此我无法在所有可能的情况下使用它。那包括:
同时,期望最大化算法可以避免那些复杂情况,同时提供更高的准确性。简而言之,它计算每个数据集点与我们指定的所有聚类的关联概率。用于该聚类模型的主要“工具”是高斯混合模型(GMM) –假设数据集的点通常遵循高斯分布。
EM算法
k-means算法基本上是EM原理的简化版本。它们都需要人工输入簇数,这是方法所要面对的主要难题。除此之外,计算原理(对于GMM或k均值)很简单:簇的近似范围是在每次新迭代中逐渐指定的。
与基于质心的模型不同,EM算法允许对两个或多个聚类的点进行分类-它仅向您展示每个事件的可能性,您可以使用该事件进行进一步的分析。更重要的是,每个聚类的边界组成了不同度量的椭球体,这与k均值不同,在k均值中,聚类在视觉上表示为圆形。但是,该算法对于对象不遵循高斯分布的数据集根本不起作用。这是该方法的主要缺点:它更适用于理论问题,而不是实际的测量或观察。
DBSCAN
最后,基于密度的聚类,名称包括模型的要点–将数据集划分为聚类,计数器会输入ε参数,即“邻居”距离。因此,如果对象位于ε半径的圆(球)内,则它与群集有关。
DBSCAN(带有噪声的基于应用程序的基于密度的空间聚类)算法将逐步检查每个对象,将其状态更改为“已查看”,将其分类为OR聚类,直到最终处理整个数据集。用DBSCAN确定的簇可以具有任意形状,因此非常精确。此外,该算法不会让您计算聚类数-它是自动确定的。
尽管如此,即使像DBSCAN这样的杰作也有缺点。如果数据集由可变密度簇组成,则该方法显示的结果较差。如果对象的放置位置太近,并且无法轻松估算ε参数,也可能不是您的选择。
总结起来,没有错误选择算法之类的东西-其中有些更适合特定的数据集结构。为了始终采用最佳(更适合)算法,您需要全面了解它们的优缺点。
例如,如果某些算法不符合数据集规范,则可以从一开始就将其排除在外。为避免繁琐的工作,您可以花一些时间来记住信息,而不是选择反复试验的路径并从自己的错误中学习。
我们希望您一开始总是选择最好的算法。继续这了不起的工作吧!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
PowerBI 累计曲线制作指南:从 DAX 度量到可视化落地 在业务数据分析中,“累计趋势” 是衡量业务进展的核心视角 —— 无论是 “ ...
2025-08-15Python 函数 return 多个数据:用法、实例与实战技巧 在 Python 编程中,函数是代码复用与逻辑封装的核心载体。多数场景下,我们 ...
2025-08-15CDA 数据分析师:引领商业数据分析体系构建,筑牢企业数据驱动根基 在数字化转型深化的今天,企业对数据的依赖已从 “零散分析” ...
2025-08-15随机森林中特征重要性(Feature Importance)排名解析 在机器学习领域,随机森林因其出色的预测性能和对高维数据的适应性,被广 ...
2025-08-14t 统计量为负数时的分布计算方法与解析 在统计学假设检验中,t 统计量是常用的重要指标,其分布特征直接影响着检验结果的判断。 ...
2025-08-14CDA 数据分析师与业务数据分析步骤 在当今数据驱动的商业世界中,数据分析已成为企业决策和发展的核心驱动力。CDA 数据分析师作 ...
2025-08-14前台流量与后台流量:数据链路中的双重镜像 在商业数据分析体系中,流量数据是洞察用户行为与系统效能的核心依据。前台流量与 ...
2025-08-13商业数据分析体系构建与 CDA 数据分析师的协同赋能 在企业数字化转型的浪潮中,商业数据分析已从 “可选工具” 升级为 “核 ...
2025-08-13解析 CDA 数据分析师:数据时代的价值挖掘者 在数字经济高速发展的今天,数据已成为企业核心资产,而将数据转化为商业价值的 ...
2025-08-13解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-08-12MySQL 统计连续每天数据:从业务需求到技术实现 在数据分析场景中,连续日期的数据统计是衡量业务连续性的重要手段 —— 无论是 ...
2025-08-12PyTorch 中 Shuffle 机制:数据打乱的艺术与实践 在深度学习模型训练过程中,数据的呈现顺序往往对模型性能有着微妙却关键的影响 ...
2025-08-12Pandas 多列条件筛选:从基础语法到实战应用 在数据分析工作中,基于多列条件筛选数据是高频需求。无论是提取满足特定业务规则的 ...
2025-08-12人工智能重塑 CDA 数据分析领域:从工具革新到能力重构 在数字经济浪潮与人工智能技术共振的 2025 年,数据分析行业正经历着前所 ...
2025-08-12游戏流水衰退率:计算方法与实践意义 在游戏行业中,流水(即游戏收入)是衡量一款游戏商业表现的核心指标之一。而游戏流水衰退 ...
2025-08-12CDA 一级:数据分析入门的基石 在当今数据驱动的时代,数据分析能力已成为职场中的一项重要技能。CDA(Certified Data Anal ...
2025-08-12破解游戏用户流失困局:从数据洞察到留存策略 在游戏行业竞争白热化的当下,用户流失率已成为衡量产品健康度的核心指标。一款游 ...
2025-08-11数据时代的黄金入场券:CDA 认证解锁职业新蓝海 一、万亿级市场需求下的数据分析人才缺口 在数字化转型浪潮中,数据已成为企业核 ...
2025-08-11DBeaver 实战:实现两个库表结构同步的高效路径 在数据库管理与开发工作中,保持不同环境(如开发库与生产库、主库与从库)的表 ...
2025-08-08t 检验与卡方检验:数据分析中的两大统计利器 在数据分析领域,统计检验是验证假设、挖掘数据规律的重要手段。其中,t 检验和卡 ...
2025-08-08