2017-02-19 32 views
0

Clustering result簇可以在层次聚集聚类中重叠。我在R中实现了一个距离矩阵并且绘制了这些簇,但是结果表明这些簇重叠了一个。群集可以在层次聚类中重叠吗?

library(rioja) 

View(dissimilarity) 

dissimilarity=as.dist(dissimilarity) 

#diss=dist(dissimilarity,method='canberra') 
clust1=chclust(dissimilarity,method = "coniss")  #To plot the dendogram using coniss method 
#clust=chclust(dissimilarity,method = "conslink") #To plot the dendogram using conslink method 
plot(clust1,hang=-1) 

#creating the hclust object to implement hierarchial clustering 

hc = hclust(dissimilarity, method = 'ward.D') 
y_hc = cutree(hc,6) 
dissimilarity=as.matrix(dissimilarity) #To convert diss into a data matrix 
# Visualising the clusters 
library(cluster) 
clusplot(dissimilarity, 
     y_hc, 
     lines = 0, 
     shade = FALSE, 
     color = TRUE, 
     labels= 1, 
     plotchar = FALSE, 
     span = TRUE, 
     main = paste('Clusters'), 
     ) 
+0

你使用了哪个距离?层次聚类中不应该有重叠。 –

+0

请将该图加载到问题中,以便我们了解您的重叠含义,并详细说明如何使用哪些函数进行群集。 – Bernhard

+0

这是我用过的代码,它给了我不同之处已经是一个不相似矩阵。它也是给定的距离是非欧几里得。 @Bernhard –

回答

1

重叠群集的印象可能是基于可能的多维数据的二维图或错误地使用函数语法。包cluster中的功能clusplot使用prcompcmdscale,具体取决于参数diss对于降维而言是错误的或正确的。

根据help(clusplot)diss说明函数是否给出函数给出了相异矩阵或观测矩阵。我是你的情况,不用设置diss = TRUE就可以给函数赋予不相似的矩阵。这可能是绘图功能的错误用法。