理解K-means聚类中的一些术语

时间:2016-09-04 02:38:45

标签: machine-learning cluster-analysis data-mining computational-geometry k-means

我需要编写一个为给定数据集实现kmeans聚类的程序(我大致了解kmeans算法的工作原理)。由于我希望我的程序是通用的,因此我想了解以下术语:

对于具有100行和10列的给定数据集(假设每列是一个要素),如何识别以下参数:

  1. 维度:我如何知道此数据集的维度?
  2. 数据点:这是否意味着每个单元格[row][col]都是数据点,或者整行是一个数据点(点向量)?

2 个答案:

答案 0 :(得分:0)

您必须从计算几何的角度看待数据集,其中数据集的每个元素都是D维空间中的一个点。

您的数据集看起来像这样,我想:

row0.col0 row0.col1 ... row0.col9
...
row99.col0 row99.col1 ... row99.col9

视图,我会将此数据集解释为10个维度中的100个点。

  

尺寸

这是列数,所以10.每列都是数学视图中的坐标! ;)

  

数据点

每个都是一个数据点!每个单元格都是这一点的坐标!

例如,检查我的minimal example here,您将看到我创建了10000个点(这是您的情况下的行),64维(这是您的情况下的列)。

答案 1 :(得分:0)

取决于。

但是大多数语言和文件格式(例如CSV)每个记录使用一个,每个维度使用一个。此电子表格视图非常常见。

E.g。在Java中,大多数人会将double[100][10]矩阵读为100条记录,每条记录10个维度。

有些语言不同。 Matlab和Julia是列主要的IIRC,所以(100,10)的形状是100维,10行。