过采样:我的模型是否过拟合?

数据挖掘 机器学习 过拟合 采样 文本分类
2021-10-13 23:53:42

我想问你一些关于如何考虑(好或不好)以下结果的问题:

OVER-SAMPLING
              precision    recall  f1-score   support

         0.0       1.00      0.85      0.92       873
         1.0       0.87      1.00      0.93       884

    accuracy                           0.92      1757
   macro avg       0.93      0.92      0.92      1757
weighted avg       0.93      0.92      0.92      1757

Confusion Matrix: 
 [[742 131]
 [  2 882]]

我有一个包含 3500 个 obs 的数据集(3000 个 0 类和 500 个 1 类)。我想预测第 1 类(目标变量)。由于这是不平衡类的问题,我不得不考虑重新采样的方法。上面显示的结果来自过采样。您是否认为它过拟合和/或对于我的情况来说不是一个好的重新采样方法?我正在查看 f1-score 列,因为它是一个文本分类问题。

2个回答

为了获得准确的结果,您不应该测试集进行过度采样!否则,您只是在评估您自己创建的合成样本。对分类报告的支持应该反映数据集中的不平衡。

据我了解,您有 3500 个样本,然后您进行了一些过采样(可能将它们带到了 6000 左右),然后从中取出 1757 个进行测试。这种评价方案是错误的。看看下面的插图,看看更正确的方案。

      |--- train --> oversample train set --> train model---|
set --|                                                     |--> evaluation on test set
      |--- test --------------------------------------------|

为了检测过度拟合,您需要将数据分离到训练集中——用于估计模型参数——和测试集中——在其中评估模型并保持参数固定,这通常称为交叉验证。我从您的结果中了解到,您没有对数据进行这种分离,因此您无法检测到过度拟合。