precision:查准率spa
recall:查全率,召回率ci
查准率,基于预测的结果,预测为正的样本中 由多少真正的正样本。即,真正为正的越多越好。it
查全率,针对原来的正样本,有多少正样本被预测正确了。io
\[ Precision = \frac{True \ positives}{predictied \ as \ positives} = \frac{TP}{TP+FP} \]class
\[ Recall = \frac{True \ positives}{actual \ positives} = \frac{TP}{TP+FN} \]call
举个例子:dict
咱们用一个模型去判断一段时间的做弊流量,假设该段时间的流量是100个,做弊的是25个,没有做弊的是75个,假设这里正样本为没有做弊的流量。di
而后咱们用某种模型去预测,结果是70个没有做弊的,可是经检查,咱们把其中69个正样本预测为没有做弊,把1个负样本预测为没有做弊。时间
那么,display
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} \]