F1 P R的理解

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} \]

posted @ 2019-03-14 09:34  suonikeyinsu  Views(3721)  Comments(0Edit  收藏  举报