如何在知道簇数的cutree()中获得树的高度

时间:2019-07-03 18:44:05

标签: r hierarchical-clustering

我正在使用层次聚类对数据进行分类。

我想定义最佳的簇数。为此,其想法是可视化一个图,其中x轴是簇的数量,y轴是树状图中树的高度。

要做到这一点,我需要在指定簇数K时知道树的高度,例如,如果K = 4,我需要在命令后知道树的高度

cutree(hclust(dist(data), method = "ward.D"), k = 4) 

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

高度存储在hclust对象中。由于您不提供任何数据,因此我将用内置的虹膜数据进行说明。

HC = hclust(dist(iris[,1:4]), method="ward.D")
sort(HC$height)
<reduced output>
[133]   1.8215623   1.8787489   1.9240172   1.9508686   2.5143038   2.7244855
[139]   2.9123706   3.1111893   3.2054610   3.9028695   4.9516315   6.1980126
[145]   9.0114060  10.7530460  18.2425079  44.1751473 199.6204659

最大值是第一次分割的高度。第二大是第二分裂,依此类推。 您可以通过绘图看到这提供了所需的高度。

plot(HC)
abline(h=10.75,col="red")

Dendrogram

您可以看到第四个最大高度与第四个拆分的高度匹配。