不平衡数据、SMOTE 和特征选择

机器算法验证 分类 特征选择 不平衡类
2022-03-17 20:51:51

我正在尝试从相对较大的医疗数据集(1 - 疾病,0 - 无疾病)中构建二元分类器。该数据集包含大约 500 名患者,其中 9% 患有该疾病,以及大约 70 个特征(预测变量)。我想试一试:

  1. 特征选择——减少特征数量
  2. SMOTE 用于平衡训练数据集。
  3. 应用分类器
  4. 应用交叉验证

哪个是最好的分步方法?

特别是我对何时使用特征选择感到两难?如果我在 SMOTE 之前使用它,选择的功能可能会有偏差?但是之前应用它,我有一个不平衡的数据问题。

另外,什么时候进行交叉验证合适?

1个回答

本文认为在 SMOTE(Synthetic Minority Oversampling TEchnique)之前进行特征选择首选,并且至少:

... 在使用 SMOTE 后执行变量选择时应小心谨慎,因为大多数变量选择方法都假定样本是独立的。

使用 SMOTE 对少数类进行过采样违反了独立性假设。

对于您的应用程序,尚不清楚 SMOTE 是否会比 LASSO 或岭回归等标准惩罚方法提供任何优势。此外,请注意将“灵敏度、准确度、精确度、召回率和 F1 分数”作为优化目标。它们隐藏了关于两种错误分类的相对成本的隐含假设。通常最好先为概率开发一个可靠的模型,然后(如果需要分类)考虑相对成本和收益。

交叉验证当然可以用于您的特征选择过程,例如选择 LASSO 的惩罚值(以及因此维护的特征数量)。请注意,任何算法选择的特定特征都可能因样本而异,您应该在继续进行时考虑该问题。

验证模型开发的整个过程,包括特征选择过程,也可以通过交叉验证来完成,或者更好的是,在数据的多个引导样本上重复该过程。