【问题标题】:How to calculate f(2) measure?如何计算 f(2) 度量?
【发布时间】:2016-04-11 01:03:29
【问题描述】:

我正在尝试为这组数据计算 f(0.5) 和 f(2):

Precision: 0.6
Recall: 0.45

我的结果:

f(1)  : 0.51
f(0.5): 0.56 (wrong)
f(2)  : 0.47 (wrong)

我使用这个公式计算了 f(1) 度量

(2x(PxR))/(P+R)

但是当我尝试计算 f(2) 或 f(0.5) 时,我的结果略有偏差

f(0.5) should be 0.54
f(2)   should be 0.49

我使用了以下公式:

(b^2 + 1) x ((P x R)/(b^2)+R)

b = 我使用的 f 度量,0.5 或 2

我做错了什么? 如果可能的话,有人可以为我计算 f(0.5) 和 f(2) 度量并确认我错了吗?

感谢您提供任何帮助,我会尽我最大的努力使这个问题尽可能清晰。如果不够清楚请发表评论,我会尽力补充

谢谢

【问题讨论】:

  • 我没有得到相同的结果。对于 F(2),(b^2 + 1) x ((P x R)/(b^2)+R) = 5 x (0.27/4+R) = 5 x (0.0675+0.45) = 5 x (0.0675+0.45) = 5 x 0.5175 = `2.5875'。

标签: math statistics information-retrieval


【解决方案1】:

幸运的是,Wikipedia is searchable

正确的方程式(在维基百科页面上它具有真正的数学格式,更容易阅读)是:

F(<em>β</em>)=(1&amp;plus;<em>β</em><sup>2</sup>)⋅(PR/(<em>β</em><sup>2</sup>P&amp;plus;R))

或者在 Python 中:

>>> def F(beta, precision, recall):
...   return (beta*beta + 1)*precision*recall / (beta*beta*precision + recall)
...
>>> F(1, .6, .45)
0.5142857142857143
>>> F(2, .6, .45)
0.4736842105263158
>>> F(0.5, .6, .45)
0.5625000000000001

这看起来与您获得的值非常接近,并且与您所说的“正确”值不太相似。所以似乎值得问“所谓的正确值从何而来?”

【讨论】:

  • 感谢您的回答,这与我使用的公式相同,我只是不知道如何在电脑上以相同的方式编写它。而且答案来自过去的试卷,有解决方案,谢谢你也计算了F2和F0.5,至少我知道我做对了,我在这上面卡了两个小时!
猜你喜欢
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 2016-06-21
  • 2020-05-24
  • 2011-06-24
  • 2019-11-27
  • 2013-06-26
  • 2022-11-12
相关资源
最近更新 更多