Math 如何计算f(2)测度?

Math 如何计算f(2)测度?,math,statistics,information-retrieval,Math,Statistics,Information Retrieval,我试图计算这组数据的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

我试图计算这组数据的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)的测量值并确认我错了吗

感谢您的帮助,我将尽我最大的努力使这个问题尽可能清楚。请留下一个评论,如果它不够清楚,我会尝试添加到它

谢谢

幸运的是

正确的公式(在Wikipedia页面上有真正的数学格式,更容易阅读)是:

F(β)=(1加上;β2)⋅(PR/(β2P+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

这看起来非常接近您得到的值,与您所说的“正确”值不太相似。因此,似乎有必要问“假定正确的值从何而来?”

我没有得到相同的结果。对于F(2),
(b^2+1)x((pxr)/(b^2)+R)
=
5x(0.27/4+R)
=
5x(0.0675+0.45)
=
5x(0.0675+0.45)
=
5x0.5175
='2.5875'。谢谢你的回答,这和我用的公式一样,我只是不知道如何在电脑上用同样的方式写。答案来自于过去的一份试卷,有答案,谢谢你也计算了F2和F0.5,至少我知道我做对了,我被困在这上面两个小时了!