簇数如何揭示已知 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
这可能是一个愚蠢的问题,但我找不到关于这个主题的任何内容。
我的数据 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