问题描述
Dataset 大约有 150k 条记录,有四个标签:['A','B','C','D'],分布如下:
答:60000
乙:50000
C: 36000
D: 4000
我注意到使用包分类报告来获取精度、召回率和 f1 分数,f1 分数导致 UndefinedMetricWarning,因为 D 类由于记录数量少而未被预测。
我知道我需要执行过采样/欠采样来修复不平衡的数据。
问题:修复不平衡数据但从每个类中随机抽取 4000 条记录以使其平衡是个好主意吗?
解决方法
我认为您想从 D 类中进行过采样。该技术称为合成少数过采样技术,或 SMOTE。
解决此问题的一种方法是对少数类中的示例进行过采样。这可以通过在拟合模型之前简单地从训练数据集中的少数类中复制示例来实现。这可以平衡类分布,但不会为模型提供任何额外信息。
复制来自少数类的例子的一个改进是合成来自少数类的新例子。这是表格数据的一种数据增强,非常有效。
来源:https://machinelearningmastery.com/smote-oversampling-for-imbalanced-classification/