【发布时间】:2013-06-10 10:18:46
【问题描述】:
当我运行 kmeans 算法时,我收到此错误:
Error in kmeans(x, 2, 15) :
more cluster centers than distinct data points.
如何解决此错误,它是什么意思?我认为我的数据点是不同的?
这是我的文件和我用来生成 kmeans 的 r 代码:
rnames.csv :
"a1","a2","a3"
cells.csv :
0,1,2,1,4,3,5,3,4
cnames.csv :
"google","so","test"
cells = c(read.csv("c:\\data-files\\kmeans\\cells.csv", header = TRUE))
rnames = c(read.csv("c:\\data-files\\kmeans\\rnames.csv", header = TRUE))
cnames = c(read.csv("c:\\data-files\\kmeans\\cnames.csv", header = TRUE))
x <- matrix(cells, nrow=3, ncol=3, byrow=TRUE, dimnames=list(rnames, cnames))
# run K-Means
km <- kmeans(x, 2, 15)
【问题讨论】:
-
这正是它所说的:您的数据中的不同案例少于您指定的中心数量。这表明您的数据与您在 Q 中勾勒的示例不匹配,因为当我将该数据读入 3x3 矩阵时,
kmeans运行良好。当您真正收到错误时,请仔细检查x。 -
@joran 是的,x 确实是空的,我的文件只包含数据(没有标题)所以当我更改为 header=FALSE 而不是 header=TRUE 时它确实有效
标签: r k-means hierarchical-clustering