0

カスタムのシミュレートされた類似性マトリックスに単純なクラスタリング手順を適用しています。( https://github.com/ehouddt/Files/blob/master/sim_col.RData )

ただし、平均的なリンクhclustを使用する場合とagnes手順の違いに気付きました(注:完全なリンクでも同じ動作を観察しました) 。

load("sim_col.RData") # A 606 x 606 similarity matrix
library(cluster)

c1 <- hclust(as.dist(1-sim_col),method="average")
c2 <- as.hclust(agnes(as.dist(1-sim_col),diss=TRUE,method="average"))

dev.new()
plot(c1)
dev.new()
plot(c2)

cut1 <- cutree(c1,k=20)
cut2 <- cutree(c2,k=20)
cut1
cut2

sort(table(cut1))
cut1
# cut1
# 10  18   9  19   3  20   4  11   7  15  17   5   6  12  16   2   8   1  13  14 
#  2   5   7   8  11  13  14  14  15  19  19  21  23  26  27  31  33  80  95 143
sort(table(cut2))
# cut2
# 18  20  19  11  17   7   8   4  12   5   9   3  10  16   2   6  14  13   1  15 
#  4   6   8   9   9  13  13  14  15  16  17  19  20  29  31  31  54  62 115 121

hclust予想どおり、との順序が異なるため、デンドログラムは異なって見えますagnes。ただし、ラベルを (k=20たとえば で) カットすると、観測の結果が異なります (似ていますが)。(たとえば、ラベルの数量が 2 つの結果で異なることがわかります)

私はばかげた間違いを犯していますか、それとも木を切った後にまったく同じ結果を返すはずがhclustありませんか? agnes2 つのプロシージャが同じ結果を返すはずがない場合、2 つの関数の違いはどこにありますか?

4

1 に答える 1