实施欠采样和过采样的建议

数据挖掘 机器学习 Python 阶级失衡 打击
2022-03-06 09:14:28

我的数据集具有以下类分布

CLASS      FREQUENCY
2          22696
4          2541
1          2093
5          1298
3          1116
0          960
6          14

我肯定想生成一个新样本,为此我将使用python imblearn,我有三个选项:

  1. 对少数类进行过采样
  2. 对多数类进行欠采样
  3. 选择一个中值类并应用对多数类的欠采样和对少数类的过采样以等于中值类。

稍后我将使用生成的数据集来训练三个估计器 RandomForest 分类器、SVC 和两者的集成。我会选择 f-1 得分最高的那个。什么是最好的选择,我应该使用哪种过采样/欠采样算法?

1个回答

通常,欠采样不是很有用,因为您会抛出有关特征的任何信息。

SMOTE - 合成少数过采样技术对于过采样很有用。

您可能想考虑放弃第 6 类。对于机器学习来说,14 的样本量不够大。