cluster_centers_ 的排序/索引在 KMeans 聚类 SKlearn 中代表啥

Posted

技术标签:

【中文标题】cluster_centers_ 的排序/索引在 KMeans 聚类 SKlearn 中代表啥【英文标题】:What does the ordering/index of cluster_centers_ represent in KMeans clustering SKlearncluster_centers_ 的排序/索引在 KMeans 聚类 SKlearn 中代表什么 【发布时间】:2020-06-17 21:11:52 【问题描述】:

我已经实现了以下代码

k_mean = KMeans(n_clusters=5,init=centroids,n_init=1,random_state=SEED).fit(X_input)
k_mean.cluster_centers_.shape
>>
(5, 50)

我有 5 个数据集群。

集群是如何排序的?集群中心的索引是否代表labels

表示0th位置处的cluster_center索引是否代表标签= 0?

【问题讨论】:

【参考方案1】:

在docs 中有一个类似的例子:

>>> from sklearn.cluster import KMeans
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [10, 2], [10, 4], [10, 0]])
>>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
>>> kmeans.labels_
array([1, 1, 1, 0, 0, 0], dtype=int32)
>>> kmeans.predict([[0, 0], [12, 3]])
array([1, 0], dtype=int32)
>>> kmeans.cluster_centers_
array([[10.,  2.],
       [ 1.,  2.]])

索引是有序的。顺便说一句,k_mean.cluster_centers_.shapeyou 只返回数组的形状,而不是值。因此,在您的情况下,您有 5 个集群,特征的维度为 50。

要获取最近的点,可以查看here。

【讨论】:

谢谢。我知道形状,但在这里绘制所有 5,50 D 并不是一件好事,这就是我使用形状的原因

以上是关于cluster_centers_ 的排序/索引在 KMeans 聚类 SKlearn 中代表啥的主要内容,如果未能解决你的问题,请参考以下文章

解释 K-Means cluster_centers_ 输出

从零开始_学_数据结构——查找算法索引二叉排序树

Mongodb复合索引 - 也内置_id排序?

c_华为机考_100分的第2题_字符串的ascii码值小到大排序,输出ascii码值排序的第k个元素, 在字符串里的索引

根据字符串+数字的索引对熊猫数据框进行排序

Elasticsearch 列表索引按名称排序