我是机器学习的新手,希望有人可以帮助我解决我的问题。我正在从事有关逻辑回归的项目。数据集高度不平衡,其中只有不到1%的病例为阳性,其余分类为正常。我试图比较没有重新采样(仅使用原始数据)和大多数采样不足之间的结果。但是我怀疑使用欠采样会带来很多改进,而且我不确定如何解释结果。这是我的操作方式:
无重采样情况:我将数据分为训练集和测试集。然后,我使用网格搜索简历来找到最佳的逻辑回归分类器,并使用测试集评估模型。精度和召回率分别为0.84和0.63。
欠采样情况:我将数据分为训练集和测试集,并对训练集中的大部分进行欠采样。其他所有内容都与没有重采样的情况相同。精度和召回率分别为0.06和0.92。
我期望使用欠采样时召回值会增加,但是我不知道为什么精度如此之低;实际上,我还使用SMOTE对少数样品进行过采样,并且精度值仍然非常低。对我而言,原因可能是我在测试集上评估了我的模型,而该模型没有像我对训练集所做的那样重新采样。但是我认为我做对了,因为测试集应该代表真实单词的意思,并且不应该对其进行任何操作。我对么?然后我的问题可以总结为:
使用重采样时,没有看到什么改善,但是我知道对于这种高度不平衡的数据,必须进行某种重采样。那么,我该如何解释我的结果,或者我的建模过程错误或缺少关键步骤呢?
是否应该在将数据分为训练集和测试集之前或之后进行重采样?
如果我在这里所做的一切都是正确的,那么我该如何解释 精度和召回值的变化,我还可以做些什么来改善它们?我现在能想到的是调整决策阈值或重新分配权重。
致谢