声明:本文为作者学习笔记,学习所得随手而记,部分材料来源于网上学习,若侵权请联系作者。
1.不平衡类问题
在实际生活中,我们会遇到很多不平衡数据集,例如在一个工厂的产品检验系统中可以看出:不合格的产品远远多于合格的产品,即属于不同类的实例数量不成比例。在不平衡数据集中,稀有类的正确分类比多数类的正确分类更有价值。
我们经常用准确率来判断分类器的性能,但是它可能不适合评价从不平衡数据集得到的模型。例如,如果1%的信用卡交易是欺骗行为,则预测每个交易都合法的模型具有99%的准确率,这其实没有多大的意义,面对这种情况,我们应作出一些修改来关注那些稀有类。
检测稀有类好似大海捞针,因为这些实例很少出现,因此描述稀有类的模型趋向于是高度特殊化的。例如,在基于规则的分类器中,为稀有类提取的规则通常涉及大量的属性,并很难简化为更一般的、具有很高覆盖率的规则,同时,这样的模型也容易受到训练数据中噪声的影响,针对此类问题,现介绍一些处理不平衡类问题的可选度量。
2.可选度量
因为准确率度量将每个类看得同样重要,因此它可能不适合用来分析不平衡数据集。在不平衡数据集中,稀有类比多数类更有意义。对于二元分类,稀有类通常记为正类,而多数类被认为是负类。
混淆矩阵
预测的类 | |||
+ | - | ||
实际 的类 | + | TP | FN |
- | FP | TN |
解释一下术语:
真正(true positive,TP),模型正确预测的正样本数;
假负(false negative,FN),模型错误预测为负类的正样本数;
假正(false positive,FP),模型错误预测为正类的负样本数;
真负(true negative,TN),模型正确预测的负样本数;
度量—混淆矩阵中百分比形式
真正率(灵敏度):被模型正确预测的正样本的比例,即:
分母应是所有的正样本,一些是正确预测,另一些是错误预测为负。
真负率(特制度):被模型正确预测的负样本的比例,即:
分母应是所有的负样本,一些是正确预测,另一些是错误预测为正。
假正率:被模型错误预测为的正类的负样本比例,即:
分母应是所有的负样本。
假负率:被模型错误预测为的负类的正样本比例,即:
分母应是所有的正样本。
度量—召回率、精度以及F1
精度(precision):精度确定在分类器中预测为正类的记录中实际为正类记录所占的比例,即:
分母应是所有预测为正类的样本,包括正确预测以及错误预测。
精度代表对正样本结果中的预测准确程度,而准确率则代表整体的预测准确程度,既包括正样本,也包括负样本。
召回率(recall):召回率度量被分类器正确预测的正样本的比例,即:
实际上,召回率的值等于真正率。
对于召回率的一些解释:我们以网贷违约率为例,相对好用户,我们更关心坏用户,不能错放过任何一个坏用户。因为如果我们过多的将坏用户当成好用户,这样后续可能发生的违约金额会远超过好用户偿还的借贷利息金额,造成严重偿失。召回率越高,代表实际坏用户被预测出来的概率越高,它的含义类似:宁可错杀一千,绝不放过一个。
有意思的一点是,构造一个基线模型,将每一个记录都声明为正类的模型具有完美的召回率,但精度会很差。相反,将匹配训练集中任何一个正记录的检验记录都指派为正类的模型具有很高的精度,但是召回率却很低。构建一个最大化精度和召回率的模型是分类算法的主要任务之一。精度和召回率可以合并成一个度量——F1度量。
F1-score
原则上,F1表示召回率和精度的调和均值,即:
两个数的调和均值趋向于接近较小的数,所以一个高的F1度量确保精度和召回率都比较高。
3.总结
针对于不平衡类问题,本文以二分类为例,介绍了一些可用度量来帮助分析问题。当然实际生活中更多的是多分类问题,对于多分类问题的处理其实也很简单,具体请看后续内容。