精确度,准确率,召回率,漏警概率,虚警概率

一组样本,个数为M,正例有P个,负例有N个,

判断为正例的正例有TP个,判断为负例的正例有FN个(假的负例)P=TP+FN

判断为负例的负例为TN个,判断为正例的负例有FP个(假的正例)N=TN+FP

精确度(Precision)P=所有判断为正例的例子中,真正为正例的所占的比例=TP/(TP+FP)

准确率(Accuracy)A=判断正确的例子的比例=(TP+TN)/(P+N)

召回率(Recall)R=所有正例中,被判断为正例的比例=TP/P

漏警概率=1-R,正例判断错误的概率,漏掉的正例所占比率

虚警概率=1-P,错误判断为正例的概率,虚假正例所占的比率


假设原始样本中有两类,其中: 


1:总共有 P个类别为1的样本,假设类别1为正例。 
2:总共有N个类别为0 的样本,假设类别0为负例。 
经过分类后:
3:有 TP个类别为1 的样本被系统正确判定为类别1,FN 个类别为1的样本被系统误判定为类别 0,显然有P=TP+FN; 
4:有 FP 个类别为0 的样本被系统误判断定为类别1,TN 个类别为0 的样本被系统正确判为类别0,显然有N=FP+TN; 
 
那么:
精确度(Precision):
P = TP/(TP+FP) ; 反映了被分类器判定的正例中真正的正例样本的比重( 
 
准确率(Accuracy)
A = (TP + TN)/(P+N) = (TP + TN)/(TP + FN + FP +TN);   反映了分类器统对整个样本的判定能力——能将正的判定为正,负的判定为负 
 
召回率(Recall),也称为 True Positive Rate:
R = TP/(TP+FN) = 1 - FN/T; 反映了被正确判定的正例占总的正例的比重 
 
转移性(Specificity,不知道这个翻译对不对,这个指标用的也不多),也称为 TrueNegativeRate 
S = TN/(TN + FP) = 1 – FP/N;  明显的这个和召回率是对应的指标,只是用它在衡量类别0 的判定能力。 
 
F-measure or balanced F-score
F = 2 *  召回率 *  准确率/(召回率+准确率);这就是传统上通常说的F1 measure,另外还有一些别的Fmeasure,可以参考下面的链接 
 
上面这些介绍可以参考: 
http://en.wikipedia.org/wiki/Precision_and_recall
同时,也可以看看:http://en.wikipedia.org/wiki/Accuracy_and_precision
 
为什么会有这么多指标呢?
       这是因为模式分类和机器学习的需要。判断一个分类器对所用样本的分类能力或者在不同的应用场合时,需要有不同的指标。 当总共有个100个样本(P+N=100)时,假如只有一个正例(P=1),那么只考虑精确度的话,不需要进行任何模型的训练,直接将所有测试样本判为正例,那么A 能达到99%,非常高了,但这并没有反映出模型真正的能力。另外在统计信号分析中,对不同类的判断结果的错误的惩罚是不一样的。举例而言,雷达收到100个来袭导弹的信号,其中只有3个是真正的导弹信号,其余 97 个是敌方模拟的导弹信号。假如系统判断 98 个(97个模拟信号加一个真正的导弹信号)信号都是模拟信号,那么Accuracy=98%,很高了,剩下两个是导弹信号,被截掉,这时Recall=2/3=66.67%,Precision=2/2=100%,Precision也很高。但剩下的那颗导弹就会造成灾害。 
 
因此在统计信号分析中,有另外两个指标来衡量分类器错误判断的后果:
漏警概率(MissingAlarm)
MA = FN/(TP + FN) = 1 – TP/T = 1 - R; 反映有多少个正例被漏判了(我们这里就是真正的导弹信号被判断为模拟信号,可见MA此时为33.33%,太高了) 

 
虚警概率(False Alarm) 
FA = FP / (TP + FP) = 1 –P;反映被判为正例样本中,有多少个是负例。 


      统计信号分析中,希望上述的两个错误概率尽量小。而对分类器的总的惩罚旧是上面两种错误分别加上惩罚因子的和:COST = Cma *MA+ Cfa * FA。不同的场合、需要下,对不同的错误的惩罚也不一样的。像这里,我们自然希望对漏警的惩罚大,因此它的惩罚因子 Cma要大些。 



你可能感兴趣的:(精确度,准确率,召回率,漏警概率,虚警概率)