matlab,在3D坐标上执行6个分区的k-means

时间:2017-06-15 16:59:43

标签: matlab

我用以下方式创建了矩阵A:

A = [X; Y; D]

XYD1 X 93列表,表示我想要执行k-means的X,Y,Z坐标集。< / p>

我想在6个分区上进行聚类,但是在调用k-means时会这样:

kmeans(A,6)

我收到错误:

Error using kmeans (line 262)
X must have more rows than the number of clusters.

为什么会出现此错误?如果我正在接近在3-D矩阵上执行k-means的问题那么接近它的另一种方式是什么?

注意 :3个分区上的群集将起作用 - 任何更高的分区都无效

1 个答案:

答案 0 :(得分:1)

如您所见in the document,每列显示变量,每行显示观察结果。当前A3x93矩阵。这意味着你在93维空间中有3次观察。因此,您应该连接三个矩阵,如下所示:

 newA = [X.' Y.' D.']; // a matrix with 93x3 dimensions

然后在newAkmeans(newA, 6)上使用k-means算法。