Record_05:准确率(Accuracy)_精确率(Precision)_召回率(Recall)_漏报率_误报率

@Record_05_准确率(Accuracy)_精确率(Precision)_召回率(Recall)_漏报率_误报率
折腾了这么久,跟别人探讨了,自学了这么久,还是要来写一下这个博客,对自己是一种记录,希望这种记录对你有用。

混淆矩阵

不怎容易弄明白的矩阵,所以叫混淆矩阵,很多人混淆可能是看表格的方向不知道,按照下面说的,再看看能不能明白。

原始标签 检测成正样本 检测成负样本
标签:正样本 TP FN
标签:负样本 FP TN

这个表格:

第2行从左往右看:

原来样本标签是正样本,通过模型后,模型检测该样本为正样本,是为真阳,TP,True Positive

原来样本标签是正样本,通过模型后,模型检测该样本为负样本,是为假阴,FN,False Negative

第3行从左往右看:

原来样本标签是负样本,通过模型后,模型检测该样本为正样本,是为假阳,FP,False Positive

原来样本标签是负样本,通过模型后,模型检测该样本为负样本,是为真阴,TN,True Negative

对于分类问题,我们关注的是正样本到底检测没检测出来。所以正,是,阳;负,是,阴。

由混淆矩阵,可以得到下面公式:

准确率_Accuracy 计算公式:

A C C = T P + T N T P + F N + F P + T N ACC=\frac{TP+TN}{TP+FN+FP+TN} ACC=TP+FN+FP+TNTP+TN

精确率_Precision 计算公式:

P r e c i s i o n = T P T P + F P Precision =\frac{TP}{TP+FP} Precision=TP+FPTP

召回率_Recall 计算公式:

R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP

误报率计算公式:

F N R = F N T P + F N = 1 − P r e c i s i o n FNR = \frac{FN}{TP+FN}=1-Precision FNR=TP+FNFN=1Precision

漏报率计算公式:

F P R = F P T P + F P = 1 − R e c a l l FPR = \frac{FP}{TP+FP}=1-Recall FPR=TP+FPFP=1Recall

以下补充内容,仅供参考!不负法律责任!

下面补充是我自己的理解,你觉得能帮助你理解就行,你要是大牛看不惯,可以忽略。

漏报:

漏报的含义是:原来标签是正样本,模型如果检测它是正样本,那么应该报警。

比如吸烟分类,吸烟是正样本,不吸烟的其他所有都是负样本。

模型在检测时,如果检测到吸烟,就要报警:请勿吸烟!

这就是报警,报警报告的是正样本。

原来是正样本,结果模型没检测出来它是吸烟样本,就是漏报。

漏报率计算公式:

F N T P + F N \frac{FN}{TP+FN} TP+FNFN

也就是:

1 − R e c a l l = 1 − T P T P + F N = F N T P + F N 1-Recall=1-\frac{TP}{TP+FN}=\frac{FN}{TP+FN} 1Recall=1TP+FNTP=TP+FNFN

误报:

误报的含义是:原来标签是负样本,模型如果检测它是正样本,也是报警,只不过是误报。

比如吸烟分类,吸烟是正样本,不吸烟的其他所有都是负样本。

如果司机吃苹果,模型检测司机吃苹果是吸烟,就是误报。

原来是负样本,结果模型检测出来它是吸烟样本,就是误报。

误报率计算公式:

但是,很多人要把这些公司在python代码中实现出来,用FNR,FPR表达出来的含义在网上一搜好多版本,以下是我的理解。不喜忽略!不负法律责任!

FNR,是False Negative Rate的英文简写,有两个表达式:

F N R p o s i t i v e = F N T P + F N FNR_{positive} = \frac{FN}{TP+FN} FNRpositive=TP+FNFN
F N R n e g t i v e = F N T N + F N FNR_{negtive} = \frac{FN}{TN+FN} FNRnegtive=TN+FNFN

通常默认FNR_positive为漏报率,即漏报率默认是FNR表示,即漏报率:

F N R = F N T P + F N FNR = \frac{FN}{TP+FN} FNR=TP+FNFN

FPR,是False Positive Rate的英文简写,也是两个表达式:

FPR却是有两个公式,我标记成如下:

F P R p o s i t i v e = F P T P + F P FPR_{positive} = \frac{FP}{TP+FP} FPRpositive=TP+FPFP
F P R n e g t i v e = F P T N + F P FPR_{negtive} = \frac{FP}{TN+FP} FPRnegtive=TN+FPFP

通常默认FPR_positive为漏报率,即误报率默认是FPR表示,即误报率:

F P R = F P T P + F P FPR = \frac{FP}{TP+FP} FPR=TP+FPFP

你可能感兴趣的:(人工智能,深度学习,机器学习,python,计算机视觉)