聚类数据的标签和 KMeans 聚类中心

Labels of clustered data and KMeans cluster centers

关于问题,我对计算聚类中心坐标和标记中心有疑问:

kmeans.cluster_centers_

给予

[[ 4.87744023 -0.48344163]
[ 8.29540909  6.7398487 ]
[ 1.05638163  3.84314976]]

我对中心的顺序感到困惑。第一个是 'green' 簇(图中的标签 2),第二个是 'red' 簇(图中的标签 0),最后一个是带有标签的 'blue' 簇1 在剧情中。这背后的逻辑是什么?

此外,如果我将用于聚类的标记数据作为聚类的起点 - 例如葡萄酒质量数据集 WineQuality or Twitter sentiment analysis Twitter sentiment analisys,该怎么办?我知道集群的标签,并希望将它们作为集群的标签保存下来,当然还要将它们与集群中心相关联?

簇的顺序通常是任意的;它们没有任何意义。这可能取决于数据点的处理顺序,但实际上没有任何区别,因为它们只是标签。

如果您的数据点已经有标签,那么只需取离每个簇中心最近的 n 个数据点,并为其分配最频繁的标签。您不太可能像示例中那样获得完美的聚类,因为通常会将数据点分配给不同的聚类或介于聚类之间。

程序基本上是:

  1. 为每个集群设置一个(空)列表。
  2. 对于每个标记的数据点,找到最近的中心并将标签添加到其列表中
  3. 对于每个集群,计算每个标签在其列表中出现的次数并选择价值最高的标签。