准确率和召回率之间通常存在一定的折衷关系——当阈值较高时,分类器的准确率较高,但召回率较低;
当阈值较低时,分类器的召回率较高,但准确率较低
- 召回率(灵敏度):对实际为正类的样本,模型能识别出多少是正类(灵敏度)
分母:实际类别为正的样本个数(TP+FN=实际为正类的样本个数)
分子:预测为正实际为正的样本个数(TP) - 精确率:对正类样本的预测准确程度,
分母:预测为正的样本个数(TP+FP=正确预测+错误预测)
分子:预测为正实际为正(TP) - 准确率:对所有类别的样本的预测准确程度,
分母:所有类别样本个数=(预测为正样本个数+预测为负样本个数)
分子:正确预测样本个数=(预测为正实际为正+预测为负实际为负)
召回率(把正样本叫唤回来,因为我们把本来是正的样本给否定了,提升它就是尽量不要把正确的搞错了,也就是不漏报),精准率就是看我们预测的正样本的到底有多少是真正的正样本,因为有一些负的我们把它判为正了,提升精准率就是不错报。
精确率:分母是预测到的正类,精确率的提出是让模型的现有预测结果尽可能不出错(宁愿漏检,也不能让现有的预测有错)
召回率:分母是原本的正类,召回率的提出是让模型预测到所有想被预测到的样本(就算多预测一些错的,也能接受)
召回率和精确率二者整体是呈负相关关系,局部可能正相关:
- 当TP增加,召回率一定也增加(TP/实际为正样本数量不变)
- 而对于精确率:TP增大,FP可能减小也可能增大(更容易增大)。TP增加,FP减小这是理想情况(低偏差),更符合实际情况的是TP增加FP也增加,即分母(TP+FP)更容易增大,精确率则更容易减小。当分子TP增加的部分没有分母增加的多时,精确率减小,
- 反映到PR曲线上,召回率和精确率整体负相关,但局部可能正相关,例如分子TP增大1,分母(TP增大1+FP减小2)减小,精确率增大。
- 总结一句话就是:TP增大,召回率一定增大,而精确率更容易减小
precision:focus在不出现错误的分类(宁可漏掉,不能出错)
recall:focus在分类不出现遗漏(宁可出错,不能漏掉)
假设你很穷,地主老爷送了一堆掺了沙子(N)的大米(P),现在要做饭了,需要将大米(P)跟沙子(N)进行分离,将掺了沙子(N)的大米(P)分成大米堆(P类)与沙子堆(N类),做饭用大米堆(P类),沙子堆(N类)则选择丢弃,以下有几个指标可以评估分离的好坏程度:
大米堆(P类)=TP+FP
沙子堆(N类)=TN+FN
1、准确率=(TP+TN)/(TP+FP+TN+FN)——全局预测准确性
能成功地(T)把大米(TP)放进大米堆(TP+FP),成功地(T)把沙子(TN)放进沙子堆(TN+FN),综合成功率是多少呢?这就是准确率的关注点,看全局的分类能力,不仅要把大米(TP)分对(T),还要把沙子(TN)也分对(T)。
2、精确率=TP/(TP+FP)——正分类里的预测准确性
准确率有个缺陷,要求太高了。比如你的目的就是煮饭,也就是说你更关注大米堆(TP+FP),你不需要操心沙子(TN)到底有没有被成功地(T)分类到沙子堆(TN+FN)。因此,只要大米堆(TP+FP)里的大米(TP)比例越多,那你做饭的时候,大概率吃到的还是大米(TP),而不是沙子(FN)。因此精确率就是看大米堆(TP+FP)里拥有的可食用大米(TP)比例,也可理解为将来做饭用的大米精度(浓度)。
3、召回率=TP/(TP+FN)——正样本的预测准确性
精确率关注的是吃饭时候,尽可能不要吃到沙子,所以他不关注粮食是否浪费的问题,而召回率关注的就是粮食浪费的问题,毕竟现在提倡节约,所以召回率就是关注大米(TP)样本中被成功地(T)分类到大米堆(P堆)的比例。“召回率”可以理解为,在所有大米(TP+FN)中回收实际食用的大米(TP)的比例。