1.使用正确的度量方法来评估
在不均衡数据集上训练出来的模型,如果使用不合适的度量方法的话,是很危险的。想象一下,如果你的任务是异常检测的话,如果度量方法是准确率的话,那么一个模型如果对所有的样本预测都是正常的话,准确率将达到非常高,但是很显然,这种模型并没有什么用。
这种情况下,可以使用一些替代的度量方法,例如:
-
精确度/查准率:预测为正样本的数据的准确率。
-
召回率/查全率:真实为正样本的数据的准确率。
-
F1得分:精确率和召回率的调和平均。
-
ROC:真阳率(tpr)和假阳率(fpr)的关系。
2.対训练数据集重新采样
除了使用不同的评价方法外,还可以想办法得到不同的数据集。有两个方法来得到平衡的数据集,一个是欠采样,一个是过采样。
2.1欠采样
欠采样通过减小多数类别的样本数量来得到平衡的数据集。这种方法用在数据量足够的情况下。保留所有的少数类别的样本,随机的抽取同样数量的多数类别样本,可以得到一个均衡的新的数据集,用来建模。
2.2过采样
相反,过采样用在数据集不够的情况下。通过增加少数类的样本数量来得到平衡的数据集。这次我们不是丢掉多数类的样本,而是通过重复,自助抽样或者SMOTE (合成少数类过采样)来生成少数类的数据。
注意,这两种重新采样的方法并没有绝对的好坏之分。使用哪种方法