提高分类的准确率

案例一:

对不平衡数据集先进行样本增强再分类能显著提高分类准确率

(SECOM数据集、SGDClassifier模型)

案例背景:目标是根据生产线上的一些指标,判断产品的质量是否合格。

特点:数据合格(1)、非合格(-1)的数据是不平衡的

1)样本增强前

[[272  18 ]

[ 18   6]]

2)样本增强后

模型在测试集上的准确率为: 99.4%样本增强后

混淆矩阵:

[[303  3 ]

[ 0   280]]

案例二:

二元分类和多元分类中设置阈值以减少某一类别的误判率

1. 二元分类加入阈值以减少不合格产品误判为合格的概率

调整阈值后假阳性数21,相比未调整阈值假阳性数28,不合格产品判断为合格产品的概率下降了2.2%.

2. 多元分类问题

多元分类可以通过设置某种形式的阈值来降低某类别的误判概率,有两种方法:a.后处理阈值调整,b.成本敏感学习。

以下是使用成本敏感学习方法的实验结果,结果表明成本敏感学习方法适用于在不平衡数据集上希望减少对于某一类别的误判。

 

2.1平衡数据集使用成本敏感学习的效果(以鸢尾花数据集为例)

未使用成本敏感学习的分类器在测试集上每个类别的精确度(precision)、召回率(recall)和F1得分都是1.00,整体准确度(accuracy)也是100%。使用成本敏感学习的分类器却导致有一小部分的样本被错误分类。

2.2不平衡数据集使用成本敏感学习的效果

数据分布情况

分析: 在没有使用成本敏感学习的情况下,类别0的precision(精确度)和recall(召回率)都是0.38,意味着模型能够以38%的准确率识别出类别0的样本,并且在类别0的样本中,有38%被正确地识别出来。对于类别1和类别2,在未使用成本敏感学习的情况下,类别2的表现非常好,有很高的precision和recall,可能和数据集中类别2样本的数量占多数有关。

使用成本敏感学习后,类别0的recall提升至75%,模型现在能够识别出更多的类别0样本,但是precision下降到22%,说明虽然模型识别出了更多类别0的样本,但其准确性降低了,可能会有更多非0类被错误地判定为类别0。这种方法适用于更希望减少对于类别0的误判。

Scroll to Top