评估与指标
准确率(accuracy)
/ AK-yur-uh-see /
准确率是一个分类器能拿到的最简单的成绩单:在它做出的所有预测里,答对了多大比例?把100封邮件判为是不是垃圾邮件,答对了其中92封,准确率就是92%。大多数人最先想到的就是这个数字,因为它回答了那个最显而易见的问题——这东西多久对一次?
严格地说,准确率等于预测正确的次数除以预测的总次数,它把所有类型的「对」都混在一起算(既包括对的「是」,也包括对的「否」)。取值从0到1,或者说0到100%,越大越好。它需要你事先就知道真实答案的带标注样本,这样才能拿模型的猜测去和现实对照。
它老老实实的弱点是:当各类别的数量很悬殊时,它会严重地误导人。假设每100笔交易里有99笔是正常的,只有1笔是欺诈。一个偷懒的模型只要一律宣称「全是正常」,就能拿到99%的准确率,却一笔欺诈都没抓到——毫无用处,看起来却好得很。只要有一种结果是稀有的,光看准确率就会掩盖掉那个真正要紧的失败,这时你必须转而去看精确率、召回率或混淆矩阵。
某项体检筛查了1000人,其中真正患病的有10人。模型把每个人都标为「健康」。它只在10个人身上判错,于是准确率=990/1000=99%。然而它一个病人也没查出来——这正是「99%的准确率也可能是个毫无价值的模型」的绝佳例子。
高准确率,零用处:为什么类别不平衡会让最简单的指标失效。
在相信一个准确率数字之前,先问问类别比例。在50/50的情况下它有意义;在99/1的情况下,单看它几乎一文不值。一个有用的检验:你的模型,比起「永远预测多数类」这个最简单的基线,到底强多少?
又称
另见