非均衡分类问题和分类评价指标

分类中的重点

非均衡分类问题

大多数情况下,不同类别的分类代价并不相等

所以我们要考虑将不同的决策代价考虑在内

----分类性能的度量指标:正确率、召回率及ROC曲线

在机器学习中,有一个普遍使用的成为混淆矩阵的工具,可以更好地帮助度量分类的错误

非均衡分类问题和分类评价指标_第1张图片

如果非对角线元素均为0,就会得到一个完美的分类器

非均衡分类问题和分类评价指标_第2张图片

在分类中,当某个类别的重要性高于其他类别时,我们可以利用上述定义来定义出比错误率更好的新指标。

正确率(precision) = TP/(TP+FP)

召回率(recall) = TP/(TP+FN)

这样,我们很容易构造出一个高正确率或者高召回率的分类器。

但是如果任何样本都是正例,那么召回率达到100%时,正确率却很低

-----度量分类的非均衡工具ROC曲线

非均衡分类问题和分类评价指标_第3张图片

在ROC曲线中给出了两条线。。图中的横轴是伪正例的比例(假阳率=FP/(FP+TN)),而纵轴是真正例的比例(真阳率=TP/(TP+FN))

ROC曲线给出的是当阀值出现加阳率和真阳率的变化情况。ROC曲线不仅可以用于比较分类器,还可以基于成本效益做出决策。

在理想的情况下,最架分类器应该尽可能地出现在左上角。

对于ROC曲线进行比较的一个指标是曲线下的面积AUC。AUC给出的是分类器的平均性能,一个完美的分类器AUC是1.0,而随机猜测的AUC为0.5。

-----基于代价函数的分类器决策控制

除了调整分类器阀值以外,还可以进行代价敏感的学习。

非均衡分类问题和分类评价指标_第4张图片

代价非0即1,可以基于该代价计算总代价TP*0+FN*1+FP*1+TN*0

接下来考虑第二张表TP*(-5)+FN*1+FP*50+TN*0

总代价是不相同的

如果在构建分类器时,知道了这些代价值,那么就可以选择付出最小代价的分类器

在分类算法中,我们有很多方法可以来引入代价信息。

在AdaBoost中,可以基于代价函数来调整错误权重向量D。

在NB中,可以选择最小期望代价而不是最大概率类别作为最后结果。

在SVM中,可以在代价函数中对于不同类别的选择不同参数c

上述做法会给较小的类更多权重,即在训练中只允许更少的错误


-----数据抽样方法

对分类的训练数据进行改造,可以通过欠抽样(undersampling)和过抽样(oversampling)来实现。过抽样意味着复制样例,欠抽样意味着删除样例。

比如在信用卡欺诈中,正样例属于罕见类别,我们希望对这种罕见类别能尽可能地保留信息,因此我们应该保留正例类别中的所有样例,而对反例类别进行欠抽样或者样例删除。这就带来一个问题,如何确定剔除哪些样例?

一个解决办法就是选择那些离决策边界较远的样例进行删除。假设我们与一个数据集,其中有50例信用卡欺诈交易和5000例合法交易。如果我们需要对合法交易进行欠抽样,使得两类数据比较均衡的话,那么我们就要去掉4950个样例,未免有些极端。

还有一种策略是使用反例类别欠抽样和正例类别过抽样混合的方法。但是可能会导致过拟合

你可能感兴趣的:(非均衡分类问题和分类评价指标)