一、理解
有一个模型,能够找出不好的来,找的结果如下(混淆矩阵):
实际 \ 预测 |
True | False |
True | TP | FN |
False | FP | TN |
TP //本来是不好的,说成是不好的。
FN //本来是不好的,说成是好的。这个很Negative,因为把应该找到的漏掉了。
FP //本来是好的,说成是不好的。这个很Positive,因为没有漏掉结果。
TN //本来是好的,说成是好的。
准确率 = True/total = (TP+TN)/(TP+TN+FP+FN) //预测对了百分之几?
精确度 p= TP/(TP+FP) //找出的不好的里面,有多少是真的不好的?
召回率 R=TP/(TP+FN) //所有的不好的里面,找出来了多少?
F1 = (2*P*R)/(P+R) //公式
二、举例:
一共有100个人考试,其中作弊的有20个人,没有作弊的有80个人。
现在有一个系统,能够预测作弊的情况。预测结果为:找到了50个人作弊。与标签对比后发现,这50个人里,有20个人确实作弊了,有30个人没有作弊。
模型准确率 = 判断对的人数/总人数
=(作弊判断为作弊+没作弊判断为没作弊)/总人数
=(20+50)/100
= 70%
模型精确度 = 抓到的人里面,真作弊的占多少
= 20/50
= 40%
召回率 = 真正作弊的人里面,找到了多少
= 20 /20
= 100%
F 1 = 2* 40% * 100% /(40%+100%)
=57.1%