高度不平衡的数据欠采样与不重新采样

时间:2018-09-05 16:11:13

标签: classification logistic-regression cross-validation resampling train-test-split

我是机器学习的新手,希望有人可以帮助我解决我的问题。我正在从事有关逻辑回归的项目。数据集高度不平衡,其中只有不到1%的病例为阳性,其余分类为正常。我试图比较没有重新采样(仅使用原始数据)和大多数采样不足之间的结果。但是我怀疑使用欠采样会带来很多改进,而且我不确定如何解释结果。这是我的操作方式:

无重采样情况:我将数据分为训练集和测试集。然后,我使用网格搜索简历来找到最佳的逻辑回归分类器,并使用测试集评估模型。精度和召回率分别为0.84和0.63。

欠采样情况:我将数据分为训练集和测试集,并对训练集中的大部分进行欠采样。其他所有内容都与没有重采样的情况相同。精度和召回率分别为0.06和0.92。

我期望使用欠采样时召回值会增加,但是我不知道为什么精度如此之低;实际上,我还使用SMOTE对少数样品进行过采样,并且精度值仍然非常低。对我而言,原因可能是我在测试集上评估了我的模型,而该模型没有像我对训练集所做的那样重新采样。但是我认为我做对了,因为测试集应该代表真实单词的意思,并且不应该对其进行任何操作。我对么?然后我的问题可以总结为:

  1. 使用重采样时,没有看到什么改善,但是我知道对于这种高度不平衡的数据,必须进行某种重采样。那么,我该如何解释我的结果,或者我的建模过程错误或缺少关键步骤呢?

  2. 是否应该在将数据分为训练集和测试集之前或之后进行重采样?

  3. 如果我在这里所做的一切都是正确的,那么我该如何解释 精度和召回值的变化,我还可以做些什么来改善它们?我现在能想到的是调整决策阈值或重新分配权重。

致谢

0 个答案:

没有答案