使用 KMeans 时为每个质心获取超过 2 个坐标

Posted

技术标签:

【中文标题】使用 KMeans 时为每个质心获取超过 2 个坐标【英文标题】:Getting more than 2 co-ordinates for each Centroids while using KMeans 【发布时间】:2020-12-13 09:09:19 【问题描述】:

我是机器学习的新手,我正在使用

from sklearn import datasets
iris=datasets.load_iris()

了解 KMeans。所以我用数据来拟合像这样的KMeans

kmeans=KMeans(n_clusters=1,random_state=42).fit(iris['data'])
print(kmeans.cluster_centers_)

我看到的是,我得到 4 个坐标而不是 2 个

[[5.84333333 3.05733333 3.758 1.19933333]]

我通过article 了解了 KMeans,但本文还使用两个坐标进行了演示

问题

为什么我得到 4 个协调员而不是 2 个,我做错了什么,我错过了什么

【问题讨论】:

【参考方案1】:

鸢尾花数据集包含 4 个特征描述三种不同类型的花(即 3 个类别)。因此,数据集中的每个点都位于一个 4 维空间中,质心也是如此,因此要描述它们的位置,您需要 4 个坐标。

在示例中,使用 2 维数据(有时是 3 维)更容易,因为它更易于绘制和显示以用于教学目的,但质心的坐标与数据的维度(即特征),因此对于 Iris 数据集,您会期望 4 个坐标。

【讨论】:

以上是关于使用 KMeans 时为每个质心获取超过 2 个坐标的主要内容,如果未能解决你的问题,请参考以下文章

郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)kmeans

kmeans集群中节点和质心之间的距离?

如何使用 tSNE 和 kmeans 质心找到质心对应的原始数据点?

如何计算质心和数据矩阵之间的距离(用于 kmeans 算法)

以列表格式获取 KMeans 之后的聚类点

按升序生成 Kmeans 的质心