我用以下方式创建了矩阵A:
A = [X; Y; D]
X
,Y
和D
是1 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个分区上的群集将起作用 - 任何更高的分区都无效
答案 0 :(得分:1)
如您所见in the document,每列显示变量,每行显示观察结果。当前A
是3x93
矩阵。这意味着你在93维空间中有3次观察。因此,您应该连接三个矩阵,如下所示:
newA = [X.' Y.' D.']; // a matrix with 93x3 dimensions
然后在newA
,kmeans(newA, 6)
上使用k-means算法。