簇数如何揭示已知 class

How cluster number reveals known class

这可能是一个愚蠢的问题,但我找不到关于这个主题的任何内容。

我的数据 plant 中有 3 个 classes (varieties),我进行了聚类分析。当我想将集群与已知的 classes 进行比较时,我获得了以下 table:

cut.complete <- cutree(cluster.complete,k=3)
cc <- table(variety,cut.complete) 
cc
         cut.complete
variety    1  2  3
  AK      46 13  0
  AF       2 18 50
  GH       0 26 21

我怎么知道簇 2 是揭示已知 AF class 的簇?例如,簇 3 能否显示 AF class?

如果簇 1、簇 2 和 3 分别没有显示真正的品种 AK、AF 和 GH,这意味着我不能使用公式

100*round(sum(diag(cc))/sum(cc), digits=3)

计算正确class化样本的百分比。

谢谢。

其实在这种情况下,你的聚类标签3与ground truth variety AF的匹配多于它与GH的匹配,类似的聚类标签2与ground truth variety GH的匹配多于它与AF的匹配(使用最大值聚类标签与基本事实的匹配)。

如以下示例所示,集群标签与实际(基本事实)class 标签匹配,其中每行匹配的最大数据点数:集群 3 与 class 标签 AK,因为对于品种 AK,在该行中找到了簇标签 3 的最大匹配。

tab
       cut.complete
variety   1   2   3
     AF 110 125  82
     AK  93 102 130
     GH 129 103 126

library(e1071)
matchClasses(tab) # find which cluster labels match with which class labels

Cases in matched pairs: 38.4 %
AF AK GH 
 2  3  1