Python中不平衡类的欠采样

2024-06-02 08:55:12 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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


Tags: 数据方法模型算法分类器森林精度矩阵
1条回答
网友
1楼 · 发布于 2024-06-02 08:55:12

先从800k记录到4k记录的采样不足可能是对您的领域知识的相当大的损失。大多数情况下,你会先做过采样,然后再做欠采样。 有专门的软件包:imblearn。至于验证:你不想给重新采样的记录打分,因为这样会把事情搞砸。仔细观察sklearn中的评分参数,即:micromacroweighted。文档是here。还有一些具体的指标。请在此处查看:

相关问题 更多 >