有了“真正”“假正”“假反”和“真反”这四个概念,就可以给出“正确率”“精确率”和“召回率”的定义了。
正确率是指对于给定的测试数据集,分类器正确分类的样本数与总样本数之比,即
$$
\mathbb { E } \oplus \sharp \sharp \sharp \frac { \partial \mathbb { E } \oplus } { \mathrm { ~ \tiny ~ \textnormal ~ { ~ T N ~ } ~ \textnormal { ~ F N ~ } ~ \textnormal { ~ T P ~ } ~ \textnormal { ~ F P } ~ } }
$$
具体体现到我们预设的讨论场景中,正确率是此模型分辨正确的邮件数量占总邮件数量的比例,我们可知该模型判断正确的邮件是 7000 封(2000 封垃圾邮件、5000 封有效邮件),而总邮件数量是 10000 封,所以模型的正确率就是 70%,或者换句话说,模型的错误率是 30%。
正确率是模型非常常用的指标之一,它很直观地反映了人们对模型能够“正确工作”的需求,对某些问题它能够衡量模型的性能,但是在另外一些场景里,它却会陷入“正确率悖论”(Accuracy Paradox)<sup>○一</sup>的尴尬之中。现在修改一下讨论场景中的数据,以便为读者展示什么是“正确率悖论”:假设测试集的 10000 封电子邮件中只包含 150 封垃圾邮件,其余都是有效邮件。在这个数据基础下,提供以下两个模型供读者择优选择:
第一个模型从 10000 封邮件中识别出了 250 封垃圾邮件,而这 250 封被标记的垃圾邮件中,有 100 封确实是垃圾邮件,另外 150 封则是被错误标记的有效邮件,如表 6-2 所示。
根据正确率的定义,易知在此测试集下,该模型的正确率是 98%,计算过程为:
230
第三部分 第三波高潮
○一 正确率悖论的解释:https://en.wikipedia.org/wiki/Accuracy\_paradox。