如何理解这个树状图

时间:2013-08-27 22:35:22

标签: r hierarchical-clustering

此相似度矩阵中的值基于jaccards系数:

    a,  b,  c
a,  1, .3, .6
b, .3,  1, .9
c, .6, .9,  1

为了生成聚类分析,我使用了以下代码:

tb = read.csv("c:\\Users\\Adrian\\Desktop\\sim-matrix.csv", row.names=1);
d  = as.dist(tb);
hclust(d);
plot(hclust(d, method="average"));

生成此树形图:

enter image description here

  • 为什么a& b紧密排列在一起
  • 如何衡量亲密度?
  • 聚合方法"average"是否平均ab&的对应值。 c

?hclust未提供任何详细信息

2 个答案:

答案 0 :(得分:1)

我不知道d = as.dist(tb);做了什么,但我认为hclust(d, method="average")假定d是距离矩阵。

  

为什么是& b紧密组合在一起

如果您提供相似度矩阵,则.3a 之间b低相似性会被解释为低距离因此具有很高的相似性。这可以解释为什么ab首先被分组。

  

如何衡量亲密度?

由于您提供了相似性矩阵,我认为您指的是在使用平均链接时如何测量聚类的接近程度。假设第一点是合适的,平均连锁(我认为hclust平均值是WPGMA)取不同群集中所有观测值之间的平均相似性。让我们检查:

第1步: 平均相似度

  • a-b.3
  • a-c.6
  • c-b.9

所以我们在a

合并了b.3

第2步: 平均相似度

  • ab-c(.6 + .9) / (2*1) = 1.5 / 2 = .75

因此合并ab-c应位于.75。好吧,无论是我的计算是错误的还是树形图对应于完全的联系。

答案 1 :(得分:0)

问题在于,您永远不会在任何时候对您的代码说这是相似性索引。事实上,你具体说相反:as.dist(d)hclust采用距离矩阵,i。即的相异度即可。最简单的方法是:

tb <- matrix(c(1,.3,.6,.3,1,.9,.6,.9,1),nrow=3)
tb <- 1-tb #Similarity to dissimilarity
d <- as.dist(tb)
plot(hclust(d))

当您测量Jaccard指数时,测量了接近度(如您所知)。