有人能帮我算出F-测度吗?我知道如何计算召回率和精确度,但对于给定的算法,我不知道如何计算一个F-测度值。
举个例子,假设我的算法创建了m个集群,但是我知道对于相同的数据有n个集群(由另一个基准算法创建)。
我找到了一个pdf,但是它没有用,因为我得到的总值大于1。F测度解释是pdf的参考。具体来说,我读过一些研究论文,其中作者在F-测度的基础上比较了两种算法,得到了0到1之间的综合值。如果仔细阅读上面提到的pdf,公式是F(C,K) =∑\ ci /N* max {F(ci,kj)}
其中ci是参考簇& kj是由其他算法创建的簇,这里运行1到n&j是从1到m.Let - |c1|=218,这里按N=m*n让m=12和n=10表示,得到j=2的最大F(c1,kj),确定F(c1,k2)在0~1之间,但用上述公式计算的结果值在1以上。
发布于 2012-10-04 11:28:45
F-测度这一术语本身被低估了.它是调和平均,通常是精确和回忆的。实际上,如果您指的是未加权版本,甚至应该说F1-score,因为您可以在两个输入值上添加不同的权重。但是,不用说哪两个值是平均的(在算术平均值的意义上不是这样!)这说明不了什么。
注意,值必须在的0-1值范围内。否则,前面会出现错误。
在聚类分析中,常用的方法是将f1测度应用于对的精度和召回,通常称为“对计数f测度”。但你也可以在其他值上计算同样的平均值。
对计数具有不直接比较簇的优点,所以当一个结果有m个聚类,另一个有n个聚类时,结果定义得很好。但是,对计数需要严格的分区。当元素没有集群或分配给多个集群时,对计数度量很容易超出0-1的范围。
讨论了其中的一些度量标准(包括兰德索引等),并对“对计数F-测度”给出了一个简单的解释。
发布于 2013-08-17 17:35:07
公式中的N,F(C,K) =∑_x_ ci _x/N~* max {F(ci,kj)},是i上的x_x_c_x的之和,即元素的总数。你可能把它误认为是簇的数目,因此得到的答案大于一个。如果你做了改变,你的答案将介于1和0之间。
https://stackoverflow.com/questions/12725263
复制相似问题