计算聚类的F度量

时间:2012-10-04 10:27:45

标签: cluster-analysis data-mining precision-recall

任何人都可以帮我集体计算F-measure吗?我知道如何计算召回率和精确度,但不知道给定算法如何计算一个F度量值。

作为一个例子,假设我的算法创建 m 集群,但我知道有相同数据的 n 集群(由另一个基准算法创建)。

我发现了一个pdf,但它没用,因为我得到的集体值大于1. pdf的参考是F Measure explained。具体来说,我已经阅读了一些研究论文,其中作者在F-measure的基础上比较了两种算法,它们总共得到0到1之间的值。  如果你仔细阅读上面提到的pdf,公式是F(C,K)=Σ| ci | / N * max {F(ci,kj)}
其中ci是参考簇& kj是由其他算法创建的集群,这里我从1运行到n& j从1到m运行。这里说| c1 | = 218这里按pdf N = m * n假设m = 12且n = 10,并且我们得到j = 2的最大值F(c1,kj)。绝对F(c1,k2)介于0和1之间,但由上式计算的结果值我们将得到高于1的值。

4 个答案:

答案 0 :(得分:5)

f-measure本身这个术语是不明确的。这是调和平均值,通常是精确度和召回率。实际上,如果您指的是未加权版本,您甚至应该说 F1-score ,因为您可以对两个输入值赋予不同的权重。但是,没有说明哪两个值是平均的(不是算术平均值!),这并没有多说。

https://en.wikipedia.org/wiki/F1_score

请注意,值必须位于0-1值范围。否则,您之前就有错误。

在聚类分析中,常见的方法是将F1-Measure应用于的精度和召回,通常称为“对计数f-度量”。但你也可以在其他值上计算相同的均值。

配对计数具有很好的属性,它不直接比较集群,因此当一个结果具有m个集群,另一个具有n个集群时,结果定义良好。但是,对计数需要严格的分区。当元素未聚类或分配给多个聚类时,对计数度量可能很容易超出0-1范围。

讨论其中一些指标(包括兰德指数等),并简单解释“对计数F计量”。

答案 1 :(得分:2)

所以例如给定集合

           D = {1, 2, 3, 4, 5, 6}

和分区,

           P = {1, 2, 3}, {4, 5}, {6}, and
           Q = {1, 2, 4}, {3, 5, 6}

其中P由我们的算法创建,Q由我们已知的标准算法创建

           PairsP = {(1, 2), (1, 3), (2, 3), (4, 5)},
           PairsQ = {(1, 2), (1, 4), (2, 4), (3, 5), (3, 6), (5, 6)}, and
           PairsD = {(1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 3), (2, 4),
                      (2, 5), (2, 6), (3, 4), (3, 5), (3, 6), (4, 5), (4, 6), (5, 6)}

所以,

           a = | PairsP intersection PairsQ | = |(1, 2)| = 1
           b = | PairsP- PairsQ | = |(1, 3)(2, 3)(4, 5)| = 3
           c = | PairsQ- PairsP  | = |(1, 4)(2, 4)(3, 5)(3, 6)(5, 6)| = 5
         
     F-measure= 2a/(2a+b+c)

答案 2 :(得分:2)

公式中的N,F(C,K)=Σ| ci | / N * max {F(ci,kj)},是| ci |的总和在所有i上,即它是元素的总数。您可能会将其误认为是群集的数量,因此得到的答案大于1。如果进行更改,您的答案将介于1和0之间。

答案 3 :(得分:2)

mahesh cs 提供的示例是正确的,应该可以帮助您(和其他人)了解对计数f-measure的工作原理。

所提供的例子来自Darius Pfitzner,Richard Leibbrandt& Sons的文章“对聚类对的相似性度量的表征和评估”。 David Powers,包含了很多有关此主题的有用信息。