我需要编写一个为给定数据集实现kmeans
聚类的程序(我大致了解kmeans算法的工作原理)。由于我希望我的程序是通用的,因此我想了解以下术语:
对于具有100行和10列的给定数据集(假设每列是一个要素),如何识别以下参数:
[row][col]
都是数据点,或者整行是一个数据点(点向量)? 答案 0 :(得分:0)
您必须从计算几何的角度看待数据集,其中数据集的每个元素都是D维空间中的一个点。
您的数据集看起来像这样,我想:
row0.col0 row0.col1 ... row0.col9
...
row99.col0 row99.col1 ... row99.col9
从computational-geometry视图,我会将此数据集解释为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行。