Sklearn KMeans对重叠2D点簇预测结果异常的原因咨询
KMeans分类结果与原始簇差异显著的原因解析
核心原因:KMeans的聚类逻辑与数据分布的冲突
- 硬划分规则的局限性:KMeans是基于欧氏距离最小化的硬聚类算法,每个样本(包括网格点)会被强制分配到距离最近的聚类中心,不存在模糊归属。当两个点簇轻微重叠时,重叠区域的点距离两个中心的差异极小,KMeans的硬划分会直接将它们归为某一类,自然和原始标注(紫色/黄色)产生大量冲突。
- 聚类中心被重叠点偏移:KMeans的聚类中心是簇内所有点的均值,重叠区域的点会同时“拉扯”两个中心,导致中心位置偏离原始簇的核心区域。这会让原本属于原始某一簇的边缘点,距离另一个KMeans中心更近,从而被错分。
簇间距增大后现象减轻的逻辑
当两个簇间距增大时,重叠区域的样本占比降低,聚类中心的位置会更贴近各自原始簇的核心,大部分点距离对应中心的距离远大于另一中心,硬划分的结果就会和原始标注更吻合。但只要还有少量重叠(哪怕极轻微),边缘区域的点依然会因为距离接近两个中心,出现错分,所以现象不会完全消失。
额外关键:聚类目标与原始标注的差异
你提到的“原始数据集的分类”是预先定义的簇,但KMeans的目标是最小化簇内平方和(WCSS),而非匹配你预先的标注。它只关注数据的空间分布,不关心你原本的类别标签,所以即使你觉得“应该”归为某一类,KMeans会按照自身的优化目标划分,这也是差异产生的重要原因。
内容的提问来源于stack exchange,提问作者Andras Di Giovanni
相关产品推荐
相关产品推荐

