大家好,实际世界的数据集通常是杂乱的,当不同类别之间的样本分布不均匀时,就会出现类别不平衡。或者说,某些类别的样本比其他类别多得多。例如,考虑一个信用卡违约数据集,信用卡违约是一个相对较少发生的事件,而没有违约的情况则占据了绝大多数。这种不平衡可能会对模型的训练和性能产生影响。
在这样的情况下,模型可能会更倾向于学习如何正确地分类没有违约的情况,而对于违约的情况可能学到的信息相对较少。这可能导致在实际应用中,模型对于违约的情况预测效果不佳,因为它没有足够的样本来学习如何准确地识别这个相对较少发生的类别。
在处理类别不平衡的问题时,通常需要采取一些技术手段,如过采样、欠采样、使用不同的损失函数或集成学习方法,以帮助模型更好地处理少数类别的样本。
一、为模型训练和评估选择正确指标
准确率指标
准确率是机器学习模型训练和评估中常用的指标。然而在不平衡的数据集上,高准确率可能是一个误导性的指标,因为模型可以通过大多数时间预测多数类别来获得高准确率分数。
以一个包含1000名信用卡用户数据的数据集为例。在这1000人中,只有50人违约,而950人没有。假设我们的模型只是简单地为每个人预测“不违约”,而没有真正学习数据集中的潜在模式。
通过混淆矩阵的计算,可以得到以下结果:
-
真正例(TP)= 0
-
真负例(TN)= 950
-
假正例(FP)= 0
-
假负例(FN)= 50
-
准确率(Accurac