sklearn KMeans 中 KMeans.cluster_centers_ 的值
Posted
技术标签:
【中文标题】sklearn KMeans 中 KMeans.cluster_centers_ 的值【英文标题】:Value at KMeans.cluster_centers_ in sklearn KMeans 【发布时间】:2017-12-27 07:25:21 【问题描述】:在做 K 意味着适合一些具有 3 个集群的向量时,我能够获得输入数据的标签。
KMeans.cluster_centers_
返回中心的坐标,所以不应该有一些对应的向量吗?如何找到这些簇的质心处的值?
【问题讨论】:
【参考方案1】:closest, _ = pairwise_distances_argmin_min(KMeans.cluster_centers_, X)
数组closest
将包含X 中最接近每个质心的点的索引。
假设closest
为三个集群提供了array([0,8,5])
的输出。所以X[0]是X中离质心0最近的点,X[8]是离质心1最近的点,以此类推。
来源:https://codedump.io/share/XiME3OAGY5Tm/1/get-nearest-point-to-centroid-scikit-learn
【讨论】:
【参考方案2】:聚类中心值是质心的值。在 k-means 聚类结束时,您将拥有三个单独的聚类和三个质心,每个质心位于每个聚类的中心。质心不一定要与现有数据点重合。
【讨论】:
所以我们可能无法从数据点的向量中得到准确的值? 我不太清楚你的意思。你得到一个定义你的集群的质心(每个数据点都在它最接近的质心的集群中)。您拥有质心的值 - 这包含在cluster_centers_
中 - 但质心是一个新点,而不是您现有的数据点之一。它可能偶然对应于现有的点,但不是必须的。以上是关于sklearn KMeans 中 KMeans.cluster_centers_ 的值的主要内容,如果未能解决你的问题,请参考以下文章
sklearn KMeans 中 KMeans.cluster_centers_ 的值