让我们使用FactoMineR包对iris 数据集进行快速的 3 类分类:
library(FactoMineR)
model <- HCPC(iris[,1:4], nb.clust = 3)
summary(model$data.clust$clust)
1 2 3
50 62 38
我们看到集群 1 中有 50 个观测值,集群 2 中有 62 个观测值,集群 3 中有 38 个观测值。
现在,我们想在树状图中可视化这 3 个集群,使用包dendextend可以制作漂亮的集群:
library(dendextend)
library(dplyr)
model$call$t$tree %>%
as.dendrogram() %>%
color_branches(k = 3, groupLabels = unique(model$data.clust$clust)) %>%
plot()
问题是树状图上的标签不符合分类的真实标签。簇 2 应该是最大的一个(根据数据有 62 个观测值),但在树状图上,我们清楚地看到它是最小的一个。
我尝试了不同的想法,但现在没有任何效果,所以如果你知道输入哪个输入groupLabels =
来匹配真实标签,那就太好了。