我需要编写一个程序来实现给定数据集的kmeans
聚类(我大致了解kmeans算法的工作原理)。为了使我的程序更加通用,我想了解以下术语:
对于一个具有100行和10列的数据集(假设每列是一个特征),我如何识别以下参数:
- 维度:我如何知道这个数据集的维度?
- 数据点:每个单元格
[row][col]
是一个数据点,还是整行是一个数据点(点的向量)?
回答:
你需要从计算几何的角度来看待你的数据集,其中数据集的每个元素都是D维空间中的一个点。
我猜你的数据集看起来像这样:
row0.col0 row0.col1 ... row0.col9...row99.col0 row99.col1 ... row99.col9
从计算几何的角度来看,我会将这个数据集解释为10维空间中的100个点。
维度
维度是列数,所以是10。从数学的角度来看,每列都是一个坐标!;)
数据点
每一行都是一个数据点!每一个单元格都是这个点的坐标!
例如,查看我的最小示例,你会看到我创建了10000000个点(在你的情况下是行),在64维(在你的情况下是列)。