k表示在矩阵上聚类

时间:2017-06-08 12:33:07

标签: r multidimensional-array k-means

我正在尝试使用" kmeans"来聚类多维功能对象。算法。它是什么意思:所以我不再拥有每行或每个人的向量,甚至更多每个人的3x3观察矩阵。例如:个人= 1有以下观察:

(x1,x2,x3),(y1,y2,y3),(z1,z2,z3)。

其他个人也有同样的观察结构。所以你知道如何与" kmeans"包括所有3个观察向量 - 而不仅仅是一个观察向量,它是如何正常用于" kmeans"集群? 你会为每个观察向量做到这一点吗? (x1,x2,x3),分别然后将信息以某种方式组合在一起?我想用R中的kmeans()函数执行此操作。

非常感谢你的回答!

2 个答案:

答案 0 :(得分:0)

使用k-means将每个观测值解释为N维向量空间中的一个点。然后,最小化观察与聚类中心之间的距离。

由于数据在N-dim空间中被视为点,因此值的实际排列无关紧要。

因此,您可以告诉您的k-means例程使用矩阵范数(例如Frobenius norm)来计算距离。另一种方法是将你的观察从3乘3矩阵平移到1乘9矢量。 NxN矩阵的Frobenius范数相当于1xN ^ 2向量的欧几里德范数。

答案 1 :(得分:0)

只需将参数提供给kmeans()所有三列,它就会计算三维距离,如果这就是你要找的东西。