【问题标题】:Imbalanced multiclass classification dataset: undersample or oversample? [closed]不平衡的多类分类数据集:欠采样还是过采样? [关闭]
【发布时间】:2021-05-17 04:11:11
【问题描述】:

数据集有大约 15 万条记录,有四个标签:['A','B','C','D'],分布如下:
答:60000
乙:50000
C: 36000
D:4000

我注意到使用包分类报告来获取精度、召回率和 f1 分数时,f1 分数会导致 UndefinedMetricWarning,因为由于记录数量少,无法预测 D 类。

我知道我需要执行过采样/欠采样来修复不平衡的数据。

问题:修复不平衡数据但从每个类中随机抽取 4000 条记录以使其平衡是否是个好主意?

【问题讨论】:

    标签: python multilabel-classification imbalanced-data


    【解决方案1】:

    我认为您想从 D 类中进行过采样。该技术称为合成少数过采样技术,或 SMOTE。

    解决此问题的一种方法是对少数类中的示例进行过采样。这可以通过在拟合模型之前简单地从训练数据集中的少数类中复制示例来实现。这可以平衡类分布,但不会为模型提供任何额外信息。

    从少数类中复制示例的改进是从少数类中合成新示例。这是一种用于表格数据的数据扩充,非常有效。

    来源:https://machinelearningmastery.com/smote-oversampling-for-imbalanced-classification/

    【讨论】:

    • 混合使用欠采样和过采样是否合理?例如,在样本 D 类之上,而在其余类样本之下?
    • 我希望尽可能多地使用真实数据。所以,我想尽可能地保留 A、B 和 C。通过使用 SMOTE,您可以合理地保留 A、B 和 C 的完整数据集,同时仍然拥有来自 D 的足够真实和虚构的数据。您可能会考虑查看其他人如何进行交易欺诈分类,因为欺诈示例通常很少。
    • 很好的建议。我将看一些与交易欺诈分类相关的示例。感谢您的指导!
    猜你喜欢
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 2020-03-11
    • 2023-01-29
    • 2020-08-30
    • 2020-09-06
    • 2021-08-20
    相关资源
    最近更新 更多