了解 K 均值聚类中的一些术语
Understanding some terms in K-means clustering
我需要编写一个程序,为给定的数据集实现 kmeans
聚类(我大致了解 kmeans 算法的工作原理)。由于我希望我的程序是通用的,所以我想了解以下术语:
对于具有 100 行和 10 列的给定数据集(假设每列是一个特征),我如何识别以下参数:
- 维度:如何知道这个数据集的维度?
- 数据点:是说每个单元格
[row][col]
是一个数据点还是整行是一个数据点(点的向量)?
您必须从计算几何的角度来看您的数据集,其中数据集的每个元素都是 D 维中的一个点 space。
你的数据集看起来像这样,我猜:
row0.col0 row0.col1 ... row0.col9
...
row99.col0 row99.col1 ... row99.col9
从 computational-geometry 的角度来看,我会将此数据集解释为 10 个维度的 100 个点。
Dimension
是列数,所以是10。从数学的角度来看,每一列都是一个坐标! ;)
Data point
每行是一个数据点!每一个cell就是这个点的一个坐标!
例如,检查我的 ,您会看到我在 64 个维度(这是您的情况下的列)中创建了 10000000 个点(这是您的情况下的行)。
视情况而定。
但大多数语言和文件格式(例如 CSV)每条记录使用一个 行,每个维度使用一个 列。这种电子表格视图很常见。
例如在 Java 中,大多数人会将 double[100][10]
矩阵解读为 100 条记录,每条记录 10 个维度。
有些语言是不同的。 Matlab 和 Julia 是列优先的 IIRC,所以 (100,10) 的形状是 100 维,10 行。
我需要编写一个程序,为给定的数据集实现 kmeans
聚类(我大致了解 kmeans 算法的工作原理)。由于我希望我的程序是通用的,所以我想了解以下术语:
对于具有 100 行和 10 列的给定数据集(假设每列是一个特征),我如何识别以下参数:
- 维度:如何知道这个数据集的维度?
- 数据点:是说每个单元格
[row][col]
是一个数据点还是整行是一个数据点(点的向量)?
您必须从计算几何的角度来看您的数据集,其中数据集的每个元素都是 D 维中的一个点 space。
你的数据集看起来像这样,我猜:
row0.col0 row0.col1 ... row0.col9
...
row99.col0 row99.col1 ... row99.col9
从 computational-geometry 的角度来看,我会将此数据集解释为 10 个维度的 100 个点。
Dimension
是列数,所以是10。从数学的角度来看,每一列都是一个坐标! ;)
Data point
每行是一个数据点!每一个cell就是这个点的一个坐标!
例如,检查我的
视情况而定。
但大多数语言和文件格式(例如 CSV)每条记录使用一个 行,每个维度使用一个 列。这种电子表格视图很常见。
例如在 Java 中,大多数人会将 double[100][10]
矩阵解读为 100 条记录,每条记录 10 个维度。
有些语言是不同的。 Matlab 和 Julia 是列优先的 IIRC,所以 (100,10) 的形状是 100 维,10 行。