聚类注意点

聚类注意点

样本异常数据

K均值(K-Means)是聚类中最常用的方法之一,它基于点与点距离的相似度来计算最佳类别归属。但K均值在应用之前一定要注意两种数据异常:

  • 数据的异常值:数据中的异常值能明显改变不同点之间的距离相似度,并且这种影响是非常显著的。因此基于距离相似度的判别模式下,异常值的处理必不可少。
  • 数据的异常量纲 :不同的维度和变量之间,如果存在数值规模或量纲的差异,那么在做距离之前需要先将变量归一化标准化。例如,跳出率的数值分布区间是[0,1],订单金额可能是[0,10000000],而订单数量则是[0,1000]。如果没有归一化或标准化操作,那么相似度将主要受到订单金额的影响。

样本数据量过大

数据量过大的时候不适合使用KMeans算法
K-Means在算法稳定性、效率和准确率(相对于真实标签的判别)上表现非常好,并且在应对大量数据时依然如此。它的算法时间复杂度上界为n kt,其中n是样本量、k是划分的聚类数、t是迭代次数。
当聚类数和迭代次数不变时,K均值的算法消耗时间只跟样本量有关,因此会呈线性增长趋势。
当真正面对海量数据时,使用K均值算法将面临严重的结果延迟,尤其是当K均值被用做实时性或准实时性的数据预处理、分析和建模时,这种瓶颈效应尤为明显。
针对K均值的这一问题,很多延伸算法出现了, MiniBatchKMeans就是其中一个典型代表。
MiniBatchKMeans使用了一个名为Mini Batch(分批处理)的方法计算数据点之间的距离。
MiniBatch的好处是计算过程中不必使用所有的数据样本,而是从不同类别的样本中 抽取一部分样本(而非全部样本)作为代表参与聚类算法过程。
由于计算样本量少,所以会相应减少运行时间;但另一方面,由于是抽样方法,抽样样本很难完全代表整体样本的全部特征,因此会带来准确度的下降
经过对30000样本点分别使用KMeans 和 MiniBatchKMeans 进行聚类,对比之后运行时间 MiniBatchKMeans 是 K-Means的一半(0.17 vs 0.36),但聚类结果差异性很小。
结论: MiniBatchKMeans在基本保持了K-Means原有较高类别识别率的前提下,其计算效率的提升非常明显。因此, MiniBatchKMeans是一种能有效应对海量数据,尽量保持聚类准确性并且大幅度降低计算耗时的聚类算法。

相关推荐
一念&15 分钟前
今日科技热点 | AI加速变革,量子计算商用化,5G应用新机遇
人工智能·科技·量子计算
严文文-Chris31 分钟前
【GPT-5 与 GPT-4 的主要区别?】
人工智能·gpt
刘恒12345678942 分钟前
Pycharm
ide·python·pycharm
过往入尘土1 小时前
计算机视觉:从 “看见” 到 “理解”,解锁机器感知世界的密码
人工智能
飞哥数智坊2 小时前
别再组团队了,AI时代一个人就能创业
人工智能·创业
严文文-Chris3 小时前
GPT5的Test-time compute(测试时计算)是什么?
人工智能
Java中文社群3 小时前
白嫖ClaudeCode秘籍大公开!超详细
人工智能·后端
MicrosoftReactor3 小时前
技术速递|使用 AI 应用模板扩展创建一个 .NET AI 应用与自定义数据进行对话
人工智能·.net
boooo_hhh3 小时前
第41周——人脸图像生成
机器学习
今***b3 小时前
Python 操作 PPT 文件:从新手到高手的实战指南
java·python·powerpoint