如何确定二维 K 均值聚类中的 x 和 y?

数据挖掘 聚类 k-均值
2022-02-22 23:28:35

最近,我们学习了 K-means 聚类。我理解了算法的基本思想,并成功地将它用于一维数据。现在我们被告知要为二维数据实现它。据我了解,x 和 y 可以是数据集的两个属性,但我们的教授说不然。她说,我们必须确定数据集中某个属性的 x 和 y 才能对数据进行聚类。她以一个简单的二维矩阵为例。这让我很困惑。如何确定属性的 x 和 y?行号和列号对我来说用它来计算距离似乎很愚蠢。

所以,我的问题是如何确定二维 k 的 x 和 y 意味着聚类?

根据这个问题,两个属性(体重和身高)用作 x 和 y。它是否正确?

3个回答

我认为在示例中对两个数字属性(例如身高和体重)进行聚类的示例没有问题。

我能想到的唯一一件事是在翻译中迷失了方向,您的教授试图解释将许多维度(属性)减少到两个然后在这些派生维度上聚类的概念。这是尝试在复杂数据集中直观地发现集群的常用技术。

K-Means 是一种主要用于在高维数据集中寻找聚类的算法。我从来没有遇到过用于单维数据集的 K-Means。

因此,2D K-Means(甚至更高维)以这种方式工作:

  1. 确定您想要的集群数量(k 值)。
  2. 初始化 k 个随机 2D(或更高维)点(质心)。
  3. 数据集中的每个点都被分配到它最接近的质心。
  4. 然后质心位置被更新为分配给所述质心的所有点的平均值。从步骤 3 重复直到达到停止条件。

对于您的第二个问题,是的,这是一个正确的方法,并且该问题的答案得到了正确的解释。

k-means 中的“距离”是所有属性的平方和。你有多少属性并不重要。

d(a, b) := sum_i (a_i - b_i)²

在 i 迭代您的属性时,a 是数据向量,b 是质心向量。

不要假设有一个或两个属性。它只是数据集的一个参数,它有多少个变量。可能是 42 个变量。