我在Matlab中编写K-means算法时遇到了问题。为什么K-means算法不适合对细长数据集进行分类?
答案 0 :(得分:-1)
排序,在纸上画一些粗线。您真的可以用一点来代表每个人吗?单点将如何提供有关方向的信息?
K均值将每个数据点分配给每个最近重心。也就是说,对于每个质心c
,与c
距离较小的所有点(与所有其他质心相比)都将分配给c
。而且,由于(超)球的表面实际上是距中心的距离小于或等于某个值的所有点,因此,我认为很容易看出所得簇如何趋向于球形。 (确切地说,kmeans实际上在向量空间中创建了 Voronoi图)
但是,拉长的簇不一定满足所有点都比其他簇的中心更靠近其“质心”的要求。
答案 1 :(得分:-3)