不平衡分类:过采样与缩放特征的顺序?

Ste*_*eph 5 classification machine-learning logistic-regression

当使用不平衡的数据集(例如欺诈检测)执行分类(例如,逻辑回归)时,最好在对少数类进行过采样之前对特征进行缩放/zscore/标准化,还是在缩放特征之前平衡类?

其次,这些步骤的顺序是否会影响最终解释特征的方式(当使用所有数据,缩放+平衡,训练最终模型时)?

下面是一个例子:

先缩放:

  1. 将数据拆分为训练/测试折叠
  2. 使用所有训练(不平衡)数据计算均值/标准;使用这些计算缩放训练数据
  3. 对训练数据中的少数类进行过采样(例如,使用 SMOTE)
  4. 将逻辑回归模型拟合到训练数据
  5. 使用均值/标准计算来缩放测试数据
  6. 用不平衡的测试数据预测类别;评估acc/召回/精度/auc

先过采样

  1. 将数据拆分为训练/测试折叠
  2. 对训练数据中的少数类进行过采样(例如,使用 SMOTE)
  3. 使用平衡的训练数据计算平均值/标准;使用这些计算缩放训练数据
  4. 将逻辑回归模型拟合到训练数据
  5. 使用均值/标准计算来缩放测试数据
  6. 用不平衡的测试数据预测类别;评估acc/召回/精度/auc

Raf*_*ard 0

您可能是隐含的意思,但您还需要应用平均值/标准差来缩放训练数据,并且这需要在拟合模型之前发生。

除此以外,对此还没有明确的答案。最好的办法是简单地尝试两者,看看哪种最适合您的数据

为了您自己对结果数据模型的理解,您可能想要计算少数类和多数类的平均值和标准差。如果它们具有相似的统计数据,那么我们预计规模优先或过度采样优先之间不会有太大差异。

如果平均值和标准差相差很大,结果可能会显着不同。但这也可能意味着问题有更大的分离度,并且您可能期望更高的分类精度。