将聚类算法分区与“基本事实”分区进行比较

机器算法验证 聚类 验证
2022-03-26 15:58:54

我有一个数据集X. 每个样本X有标签y导致分区Pk的子集X.

如果我提供一个聚类算法X, 要求k我想获得样本的分区X这与诱导的相同y, 那是P.

我想将聚类算法生成的分区与ground-truth分区进行比较P.

为此,我无法比较标签y使用样本的集群代码,不幸的是它们完全不匹配(因为标签分配是完全任意的)。

是否有任何已知的技术来执行此任务?

1个回答

调整后的兰德指数可以工作。它是一种流行的方法,用于测量将离散标签分配给数据的两种方法的相似性,忽略标签本身的排列。不是检查原始类/集群标签是否匹配,而是查看点对并询问:同一类中的对分配给同一个集群的程度如何,不同类中的对分配给不同的集群的程度如何?

要计算兰德指数,您需要测量:

  • a= 具有相同类别标签和相同聚类分配的对数
  • b= 具有不同类别标签和不同集群分配的对数

原始兰德指数为:

RI=a+b(n2)

其中是可能的点对数。范围从 0 到 1,其中 1 表示完全一致。(n2)RI

但是,随机分配标签可能不会产生零的兰德指数。因此,最好使用调整后的兰德指数(ARI),这样更容易识别这种类型的空结果。ARI 的范围从 -1 到 1,其中负值和接近零值表示机会级别的标记,正值表示相似的标记,1 表示完全一致。

您还可以在此处查看其他集群性能指标。可能对您有用的指标是将集群分配与基本事实标签(即您的类标签)进行比较的指标:标准化/调整后的互信息、同质性/完整性/v-measure、Fowlkes-Mallows 分数。