You need to enable JavaScript to run this app. scikit-learn KMeans聚类结果异常,如何理解不平衡数据集结构?
优惠活动
大模型
产品
解决方案
定价
更多

scikit-learn KMeans聚类结果异常,如何理解不平衡数据集结构?

聚类结果不符合预期的核心原因
  • 可视化方式存在偏差:当前仅取特征矩阵的前两维绘制散点图,KMeans是在全特征空间计算欧式距离完成聚类,高维空间中的簇边界投影到前两维后天然会出现重叠,无法直接反映高维空间的真实聚类效果。
  • KMeans算法不匹配数据集特性:KMeans默认假设所有簇的样本量相近、分布为球形,你的数据集存在严重标签不平衡,两类样本量远高于另外两类,KMeans会优先拟合大样本簇,小样本簇容易被合并;同时KMeans是无监督算法,无法利用你已有的有序标签信息,聚类结果不会天然和真实标签对齐。
  • 高维维度灾难:如果特征维度较高,噪声特征会稀释有效特征的距离贡献,导致欧式距离区分度下降,KMeans聚类效果大幅衰减。
  • 大样本收敛问题:百万级样本下sklearn默认的KMeans初始化容易陷入局部最优,聚类结果稳定性差。
探索数据结构的优化方法

基础数据探查(优先做,效率远高于直接聚类)

  • 先统计4个标签的样本占比,确认不平衡程度,再分标签计算所有特征的均值、分位数、分布差异,直接定位不同标签的特征区分度。
  • 绘制特征相关系数热力图,剔除高度相关的冗余特征,降低噪声干扰。
  • 针对已知的有序标签,训练简单的多分类模型(如随机森林、LightGBM),输出特征重要性排序,可直接得到区分不同标签的核心特征,再绘制核心特征分标签的箱线图、核密度图,直观看到不同等级的分布差异。

聚类优化方案

  • 先降维再聚类:用PCA保留90%以上的方差将数据降到低维,再跑聚类;如果要可视化优先选UMAP,非线性降维效果远好于直接取前两维特征,且支持百万级大样本,比t-SNE效率更高。
  • 替换适配的聚类算法:百万级样本优先用MiniBatchKMeans替代普通KMeans,速度更快收敛更稳定;也可以尝试不用预设簇数的DBSCAN、适配不平衡簇的层次聚类,如果你希望聚类结果对齐已知标签,可以用半监督聚类算法引入标签信息引导聚类。
  • 用量化指标评估聚类效果:不要仅靠可视化判断,用兰德指数(ARI)、归一化互信息(NMI)计算聚类结果和真实标签的匹配度,用轮廓系数判断聚类的紧密程度,量化评估更准确。

内容的提问来源于stack exchange,提问作者LCheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 09:36:02