聚类注意点

聚类注意点

样本异常数据

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是一种能有效应对海量数据,尽量保持聚类准确性并且大幅度降低计算耗时的聚类算法。

相关推荐
逐米时代3 分钟前
成都制造企业采购合同风险审核,AI智能体该查哪些条款?
大数据·人工智能
Peter·Pan爱编程7 分钟前
10. new_delete 不是 malloc_free 的包装
c++·人工智能·算法
IT_陈寒13 分钟前
Vue的computed属性怎么突然不更新了?
前端·人工智能·后端
ZhengEnCi20 分钟前
09a-斯坦福 CS336 作业一:BPE 分词器
python·神经网络
方向研究21 分钟前
人类的核心能力
人工智能
测试员周周27 分钟前
【Appium 系列】第18节-重试与容错 — 移动端测试的稳定性保障
人工智能·python·功能测试·ui·单元测试·appium·测试用例
还是鼠鼠38 分钟前
AI掘金头条新闻系统 (Toutiao News)-用户注册-创建用户
后端·python·mysql·fastapi·web
灰灰勇闯IT1 小时前
DeepSeek-R1 在 CANN 上的推理部署
pytorch·python·深度学习
l1t1 小时前
Hy-MT2-1.8B总结的pgvector 0.8.2解决了并行HNSW索引构建漏洞
数据库·人工智能·postgresql
太华1 小时前
学习AI Agent编程-第二天-LangGraph ReAct模式实现
人工智能