继之前讲的贝叶斯实现垃圾邮件分类模型,那么如何评判该模型是好还是坏呢?
对于二分类问题,采用二分问题进行解析,如下图所示:
假如有20个正常邮件,其中四个被分为垃圾邮件,五个垃圾邮件,其中三个被分为正常邮件。
画出二分类的关系图如下图所示:
image.png
如何衡量这个分类器的好坏呢?有几个标准。
1、准确率
准确率accuary = 正确的/总的 = 16+3/16+4+2+3 = (TP+TN)/(TP+FP+FN+TN)
这个方法只能计算正样本和负样本比较平衡的情况下效果较好,如果正负样本分布很不平衡,就结果不可靠。
比如我有995个正样本,只有5个负样本,如果全部猜对是正样本的话,概率还是有99.5%的。所以这样子就无法估算该模型是否可靠了。
那么是否还有其他的评判标准呢,有的,就是下面的精确率和召回率
2、精确率和召回率
- 精确率计算方式是
P = TP/(TP+FP) 就是计算预测的有多少是被预测准确的
R = TP/(TP+FN) 计算计算总的正样本,有多少被预测对的,多少被召回了。
加入计算邮件分类的P和R结果看看这两个如何判别模型的。
P正 = 16/18
R正 = 16/20
负样本的求法是雷同
P负 = 3/7
R负 = 3/5
由计算公式可知,如果提高精确率,召回率就要降低,所以召回率和精确率是互斥的。水火不容。但是这两个都很重要,那怎么办呢?是否可以结合两者来呢?当然可以的,就是当年高中学物理一样,两个并联的电池如何计算的,就是通过并联实现,可以根据并联计算电阻的原理来求这两个并联后的值。
那么就引入了F1_score的概念。F1_score就是P和R并联的结果,然后求平均值,得到的就是他们的平均值,可以一起评判模型的好坏。
F1 = (1/P+1/R)/2 = 2PR/P+R
网友评论