【问题标题】:Undersampling for Imbalanced Class in PythonPython中不平衡类的欠采样
【发布时间】:2020-03-11 02:02:42
【问题描述】:

我目前拥有超过 800,000 个数据点的不平衡数据集。不平衡很严重,因为这两个类别之一只有 3719 个数据点。在 Python 中使用 NearMiss 算法对数据进行欠采样并应用随机森林分类器后,我能够获得以下结果:

  • 准确率:81.4%
  • 精度:82.6%
  • 召回率:79.4%
  • 特异性:83.4%

但是,当再次在完整数据集上重新测试同一模型时,由于某种原因,混淆矩阵结果显示出对少数类的较大偏差,显示出大量误报。这是欠采样后测试模型的正确方法吗?

【问题讨论】:

    标签: python machine-learning downsampling


    【解决方案1】:

    首先从 800k 记录欠采样到 4k 可能会大大损失您的领域知识。大多数情况下,您首先进行过采样,然后进行欠采样。 有专门的软件包:imblearn。至于验证:您不想对重新采样的记录进行评分,因为它会搞砸。仔细查看sklearn 中的评分参数,即:micromacroweighted。文档是here。还有一些具体的指标。在这里检查:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-29
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2020-02-09
      • 2020-08-30
      • 2020-09-09
      • 2018-11-20
      相关资源
      最近更新 更多