如何计算 f(2) 度量?
How to calculate f(2) measure?
我正在尝试为这组数据计算 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) Measure
(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(<em>β</em>)=(1+<em>β</em><sup>2</sup> )⋅(PR/(<em>β</em><sup>2</sup>P+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
这看起来与您得到的值非常接近,但与您所说的值不太相似 "correct"。所以似乎值得一问 "Where do the supposedly correct values come from?"
我正在尝试为这组数据计算 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) Measure
(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(<em>β</em>)=(1+<em>β</em><sup>2</sup> )⋅(PR/(<em>β</em><sup>2</sup>P+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
这看起来与您得到的值非常接近,但与您所说的值不太相似 "correct"。所以似乎值得一问 "Where do the supposedly correct values come from?"