F1 P R的理解
precision:查准率
recall:查全率,召回率
查准率,基于预测的结果,预测为正的样本中 由多少真正的正样本。即,真正为正的越多越好。
查全率,针对原来的正样本,有多少正样本被预测正确了。
[Precision = frac{True positives}{predictied as positives} = frac{TP}{TP+FP}
]
[Recall = frac{True positives}{actual positives} = frac{TP}{TP+FN}
]
举个例子:
我们用一个模型去判断一段时间的作弊流量,假设该段时间的流量是100个,作弊的是25个,没有作弊的是75个,假设这里正样本为没有作弊的流量。
然后我们用某种模型去预测,结果是70个没有作弊的,但是经检查,我们把其中69个正样本预测为没有作弊,把1个负样本预测为没有作弊。
那么,
P = 69/70, 基于预测的结果,共有70个正样本;这70个样本中,真正的正样本由69个。
R = 69/75, 已知正样本有75个,有69个正样本被正确的预测到了。
所以,
查准率,在于 "准",就是基于预测的结果中,真正的正样本越多越好。
查全率,在于"全",就是把所有的真正的正样本预测出来的越多越好,虽然有些负样本也有可能被预测为正样本,那也不管,重点在于"全"。
我们在预测的时候,总是希望检索结果precision越高越好,同时recall也越高越好,但事实上这两者在某种情况下是矛盾的。例如,我只取一个样本,且是真正的正样本,那么P就是100%,但是R只有(frac{1}{70})就很低了;而如果取100个样本,那么R显然是100%,但是P只有75%。
这样就引出了 F(k),
[F(k) = frac{(1+k)*P*R}{(k*k)*P+R}
]
k>0 度量了 查全率 对 查准率 的相对重要性。k>1查全率有更大影响;k<1查准率有更大影响。
通常我们看到的F1就是F(1),在binary classification问题中,F1值是P和R的调和平均数,取值范围为[0,1],值为1表示perfect precision and recall,worst at 0。
[F(1) = frac{2*P*R}{P+R}
]