落日之城

‘’如果有一天我们淹没在茫茫人海中庸碌一生,那一定是我们没有努力活得丰盛。”...

Accuracy,Percision,Recall,Fb-Score

在论文阅读的evaluation部分中,经常会看到Accuracy和Precision的评价指标。两者是否是同一事物呢?

 

先看一段英文解释:

In the fields of engineering, industry and statistics, the accuracy of a measurement system is the degree of closeness of measurements of aquantity to its actual (true) value. The precision of a measurement system, also called reproducibility or repeatability, is the degree to which repeated measurements under unchanged conditions show the same results. Although the two words can be synonymous in colloquial use, they are deliberately contrasted in the context of the scientific method.

可见,两者是不一样的。

考虑一个二分问题:

预测类别

Yes

No

总计

Yes

TP

FN

P实际为Yes

No

FP

TN

N实际为No

总计

P’分为Yes

N’分为No

P+N

1)True positives(TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数);(真正类率)

2)False positives(FP): 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;(假正类率)

3)False negatives(FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数;(假负类率)

4)True negatives(TN): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。(真负类率)

上图是这四个术语的混淆矩阵,注意P=TP+FN表示实际为正例的样本个数,而不是TP+FP,这里只要记住True、False描述的是分类器是否判断正确,Positive、Negative是分类器的分类结果。

有下列评价指标:

1)正确率(accuracy)

正确率是我们最常见的评价指标,accuracy = (TP+TN)/(P+N),这个很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好;

2)错误率(error rate)

错误率则与正确率相反,描述被分类器错分的比例,error rate = (FP+FN)/(P+N),对某一个实例来说,分对与分错是互斥事件,所以accuracy =1 - error rate;

3)灵敏度(sensitive)

sensitive = TP/P,表示的是所有正例中被分对的比例,衡量了分类器对正例的识别能力;

4)特效度(specificity)

specificity = TN/N,表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力;

5)精度(precision)

精度是精确性的度量,表示被分为正例的示例中实际为正例的比例,precision=TP/(TP+FP);

6)召回率(recall)

召回率是覆盖面的度量,度量有多个正例被分为正例,recall=TP/(TP+FN)=TP/P=sensitive,可以看到召回率与灵敏度是一样的。

7)其他评价指标

  • 计算速度:分类器训练和预测需要的时间;
  • 鲁棒性:处理缺失值和异常值的能力;
  • 可扩展性:处理大数据集的能力;
  • 可解释性:分类器的预测标准的可理解性,像决策树产生的规则就是很容易理解的,而神经网络的一堆参数就不好理解,我们只好把它看成一个黑盒子。

对于某个具体的分类器而言,我们不可能同时提高所有上面介绍的指标,当然,如果一个分类器能正确分对所有的实例,那么各项指标都已经达到最优,但这样的分类器往往不存在。比如我们开头说的地震预测,没有谁能准确预测地震的发生,但我们能容忍一定程度的误报,假设1000次预测中,有5次预测为发现地震,其中一次真的发生了地震,而其他4次为误报,那么正确率从原来的999/1000=99.9%下降到996/1000=99.6,但召回率从0/1=0%上升为1/1=100%,这样虽然谎报了几次地震,但真的地震来临时,我们没有错过,这样的分类器才是我们想要的,在一定正确率的前提下,我们要求分类器的召回率尽可能的高。

Fb-score是准确率和召回率的调和平均:Fb=[(1+b2)*P*R]/(b2*P+R),比较常用的是F1。这个指标可以兼顾两者,可以用b来调整两者在评价指标里的比重。

分类正确率(Accuracy),不管是哪个类别,只要预测正确,其数量都放在分子上,而分母是全部数据数量,这说明正确率是对全部数据的判断。而准确率在分类中对应的是某个类别,分子是预测该类别正确的数量,分母是预测为该类别的全部数据的数量。或者说,Accuracy是对分类器整体上的正确率的评价,而Precision是分类器预测为某一个类别的正确率的评价。

阅读更多
版权声明:转载请先联系作者获得许可,转载后请注明出处。 https://blog.csdn.net/yq_forever/article/details/78915777
个人分类: machine learning
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Accuracy,Percision,Recall,Fb-Score

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭