如何为k-means聚类选择初始质心

Cli*_*ley 4 python cluster-analysis data-mining k-means centroid

我正在致力于在 Python 中实现 k-means 聚类。为数据集选择初始质心的好方法是什么?例如:我有以下数据集:

A,1,1
B,2,1
C,4,4
D,4,5
Run Code Online (Sandbox Code Playgroud)

我需要创建两个不同的集群。我如何从质心开始?

Ton*_*ino 5

您可能想了解K-means++方法,因为它是最流行、最简单且结果一致的选择初始质心的方法之一。这儿有纸。它的工作原理如下:

  • 从数据点中随机均匀地选择一个中心。
  • 对于每个数据点x,计算与已选择的最近中心D(x)之间x的距离。
  • 使用加权概率分布随机选择一个新数据点作为新中心,其中x选择一个点的概率与概率成正比D(x)^2(您可以使用scipy.stats.rv_discrete)。
  • 重复步骤 2 和 3,直到k选择了中心。
  • 现在已经选择了初始中心,继续使用标准 k 均值聚类。