解读K-Means聚类算法的cluster_centers_输出结果

4
我在解释cluster_centers_数组输出结果时遇到了困难。
考虑以下的MWE:
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris
import numpy as np

# Load the data
iris = load_iris()
X, y = iris.data, iris.target

# shuffle the data
shuffle = np.random.permutation(np.arange(X.shape[0]))
X = X[shuffle]

# scale X
X = (X - X.mean()) / X.std()

# plot K-means centroids
km = KMeans(n_clusters = 2, n_init = 10)  # establish the model

# fit the data
km.fit(X);

# km centers
km.cluster_centers_

array([[ 1.43706001, -0.29278015,  0.75703227, -0.89603057],
       [ 0.78079175, -0.04797174, -0.96467783, -1.60799713]])

在上面的数组中,我不清楚如何使用这些值来确定聚类中心。我告诉K-Means给我2个聚类,但它却返回了8个值,但它们不能是所有4个特征的x、y坐标。
如果我绘制1.43706001,-0.29278015;这是有直觉意义的,它是一个位于预测聚类中心正中央的聚类。

Example Cluster Location

如果是这种情况,我的第二个聚类是0.78079175,-0.04797174,那么第2列和第3列的值是什么?

1个回答

8

来自文档 cluster_centers_: 形状为(n_clusters, n_features)的ndarray

鸢尾花数据库有4个特征(X.shape = (150,4)),您希望Kmeans在4维特征空间中获取两个质心。cluster_centers_正是如此,列表的每个条目对应于R^4中质心的坐标。


在 cluster_centers_ 数组中,第一个条目对应于标签 0,第二个条目对应于标签 2,以此类推。 - VarunKumar
1
有点儿。第一个条目 - 标签1,第二个条目 - 标签2(您混合使用了0索引和1索引)。 - Kate Melnykova

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接