Nbclust Kmeans错误集群中心比不同的数据点更多

时间:2016-03-30 20:56:19

标签: r

当我想用3220个观测值和40个变量来预测二进制矩阵中的聚类数时,我在Nbclust(method =“kmeans”)中出现错误。矩阵维度为:

size(mtrx)
3120 40
class(mtrx)
'matrix'

代码行是:

number_of_clusters<-NbClust(data=mtrx, diss=NULL, distance = "euclidean",
                            min.nc=2, max.nc=1600, method = "kmeans",
                            index = "alllong")

错误信息是:

Error in kmeans(jeu, max_nc): more cluster centers than distinct data points.

使用distance = "binary"时仍然存在错误。 如果我选择任何其他方法类型,则不会出现错误。

我在这里有点困惑。我认为max.nc应为3119。 有帮助吗?

修改
此错误与NbClust软件包无关,它来自kmeans函数。线索在“ distinct ”一词中,这很有趣但我没有得到那部分。我想一张照片可以说出更多的话。所以这就是:

让我们从正确的方法开始。在这种情况下,我有一个至少有3个不同行的数据集,我要求在kmeans中有3个初始中心:

Vector<-c(2,2,2,2,2,2,20,10,500,300,400,2)
MATRIX<-matrix(Vector,nrow=4,ncol=3,byrow=TRUE)
print(MATRIX)
km<-kmeans(MATRIX,centers=3)  
    [,1] [,2] [,3]
[1,]   2    2    2
[2,]   2    2    2
[3,]  20   10  500
[4,] 300  400    2

没有错误,一切都好。

现在,让我们浏览一下包含&lt; 3 不同行的数据集:

Vector<-c(2,2,2,2,2,2,2,2,2,500,300,400)
MATRIX<-matrix(Vector,nrow=4,ncol=3,byrow=TRUE)
print(MATRIX)
km<-kmeans(MATRIX,centers=3) 
    [,1] [,2] [,3]
[1,]   2    2    2
[2,]   2    2    2
[3,]   2    2    2
[4,] 500  300  400
Error in kmeans(MATRIX, centers=3):
  more cluster centers than distinct data points.

错误很明显,我有2个不同的行,我要求3个初始中心。

希望这会对某人有所帮助!

0 个答案:

没有答案