准确率、召回率、命中率、误报率、精确度
TP、TN、FP、FN这 4 个名词表示的是数量。TP:True Positive,表示把 【实际恶意应用】 预测为 【恶意应用】 的个数;FP:False Positive,表示 【实际正常应用】 预测为 【恶意应用】 的个数;TN:Ture Negative,表示把 【实际正常应用】 预测为 【正常应用】 的个数;FN:False Negative,表示 【实际恶意应用】 预测为 【正常应用】
文章目录
TP、TN、FP、FN
这 4 个名词表示的是数量。
TP:True Positive,表示把 【实际恶意应用】 预测为 【恶意应用】 的个数;
FP:False Positive,表示 【实际正常应用】 预测为 【恶意应用】 的个数;
TN:Ture Negative,表示把 【实际正常应用】 预测为 【正常应用】 的个数;
FN:False Negative,表示 【实际恶意应用】 预测为 【正常应用】 的个数;
注意1: 【正常应用】在此文中与【良性应用】是一个意思。
注意2: TP 的含义,决定了之后的公式表示。 在此文中,TP 表示把「实际恶意应用」判定为「恶意应用」,这是此文讨论的基准。 在有些论文中, TP 表示把「良性应用」判定为「良性应用」,此时所有的公式都要相应改变。
True 表示预测对了。
False 表示预测错了。
对于【检测恶意应用】来说,Positive 是指,检出了恶意应用。Negative 是指没有检查出恶意应用。 再强调一次:这是本文的基准。有些论文中基准不一样。
Postive 虽然检查出了【恶意应用】,但是存在把【正常应用】判定为【恶意应用】,这是误报,也就是 FP (False Positive) 所对应的结果是误报。
Negative 判断出了哪些 app 是【正常应用】,但是这里面有【恶意应用】,也就是没有判断出来它是恶意的,这是漏报,也就是 FN(False Negative) 对应的结果是漏报。
总结:
FP (False Positive)表示误报。
FN (False Negative)表示漏报。
从含义来看,
T
P
+
F
N
TP + FN
TP+FN 表示样本中全部的恶意应用。
F
P
+
T
N
FP + TN
FP+TN 表示样本中全部的正常应用。
T
P
+
T
N
TP + TN
TP+TN 表示预测准确的个数。
这两个值(
T
P
+
F
N
TP + FN
TP+FN,
F
P
+
T
N
FP + TN
FP+TN)会被用到比例中,见下面的各种率。
下面的概念中,以【检测恶意应用】为例来说明。
召回率 Recall
其他名称:查全率,命中率,真阳性率。
含义:检测出来的恶意应用的个数(TP)占样本中所有恶意应用个数的比例。
公式为:
R
e
c
a
l
l
=
T
P
T
P
+
F
N
Recall = \frac {TP} {TP + FN}
Recall=TP+FNTP
或者
T
P
R
=
T
P
T
P
+
F
N
TPR = \frac {TP} {TP + FN}
TPR=TP+FNTP
T P + F N TP+FN TP+FN 表示所有的恶意应用。即【被判定为恶意应用的恶意应用的个数】 + 【被判定为正常应用的恶意应用的个数】之和。也就是不管被判定为什么,它们原本就是恶意应用的个数。
F
N
FN
FN 是漏报个数,
T
P
+
F
N
TP+FN
TP+FN 是所有恶意应用的个数,如果漏报增加,
T
P
+
F
N
TP+FN
TP+FN 之和是不变的,那么
T
P
TP
TP 就会减少,召回率下降。
漏报增多,导致召回率下降。
命中率 TPR: True Positive Rate
其他名称:召回率,查全率,真阳性率。
见「召回率」。
误报率 FPR: False Positive Rate
含义:把正常应用判定为恶意应用的个数(FP)占所有正常应用个数的比例。
公式:
F
P
R
=
F
P
F
P
+
T
N
FPR = \frac {FP} {FP + TN}
FPR=FP+TNFP
F P + T N FP + TN FP+TN 表示样本中全部的正常应用。
准确率 Accuracy
含义:检测结果为 True 的个数占总样本个数的比例
A
c
c
u
r
a
c
y
=
T
P
+
T
N
T
P
+
T
N
+
F
P
+
F
N
Accuracy = \frac{TP + TN}{TP + TN + FP + FN}
Accuracy=TP+TN+FP+FNTP+TN
T
P
+
T
N
TP + TN
TP+TN 表示预测准确的个数。
T
P
+
T
N
+
F
P
+
F
N
TP + TN + FP + FN
TP+TN+FP+FN 为所有样本的个数。
精确度 Precision
含义:被认定为恶意应用的 app 中,有多少是真正的恶意应用。
公式:
P
r
e
c
i
s
i
o
n
=
T
P
T
P
+
F
P
Precision = \frac{TP} {TP+FP}
Precision=TP+FPTP
T P + F P TP+FP TP+FP 表示被判定为恶意应用的个数。其中包含了真正的恶意应用,也包含了被误判的正常应用。
T
P
TP
TP 的上限是所有的恶意应用都被正确识别出来,即
T
P
TP
TP 的上限是所有恶意应用的个数。
F
P
FP
FP 是误报,当
T
P
TP
TP 固定,误报增加时,精确度下降。
误报增多,导致精确度下降。
综合查全率 F-Measure
平均上述的 Precision 和 Recall 指标后的综合评测标准。
其公式如下:
F
-
m
e
a
s
u
r
e
=
2
×
P
r
e
c
i
s
i
o
n
×
R
e
c
a
l
l
P
r
e
c
i
s
i
o
n
+
R
e
c
a
l
l
F\text-measure = \frac{2 × Precision × Recall} {Precision + Recall}
F-measure=Precision+Recall2×Precision×Recall
参考
https://www.cnblogs.com/by-dream/p/7668501.html 这个链接 中 给出的是通用意义上的解释,在对应具体的场景时,Recall 和 Precision 的公式是不一样的。
以及其他论文中的解释。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)