2017-02-19 101 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就可以給函數賦予不相似的矩陣。這可能是繪圖功能的錯誤用法。