解释 K-Means cluster_centers_ 输出
Interpreting K-Means cluster_centers_ output
我很难解释 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 个集群,但它对我来说是 returns 8 个值,但它们不能是所有 4 个特征的 x、y 坐标。
如果我绘制1.43706001, -0.29278015
;这很直观,它是一个位于预测集群中间的集群。
如果是这种情况,我的第二个集群是 0.78079175, -0.04797174
,第 2 列和第 3 列的值是什么?
来自文档
cluster_centers_
: 形状为 (n_clusters, n_features)
的数组
鸢尾花数据库有4个特征(X.shape = (150,4)
),你想让Kmeans得到4维特征的两个质心space。 cluster_centers_
正是这样做的,列表的每个条目对应于 R^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 个集群,但它对我来说是 returns 8 个值,但它们不能是所有 4 个特征的 x、y 坐标。
如果我绘制1.43706001, -0.29278015
;这很直观,它是一个位于预测集群中间的集群。
如果是这种情况,我的第二个集群是 0.78079175, -0.04797174
,第 2 列和第 3 列的值是什么?
来自文档
cluster_centers_
: 形状为 (n_clusters, n_features)
鸢尾花数据库有4个特征(X.shape = (150,4)
),你想让Kmeans得到4维特征的两个质心space。 cluster_centers_
正是这样做的,列表的每个条目对应于 R^4 中的质心坐标。