类权重与欠/过采样

Mar*_*o L 5 python classification scikit-learn imblearn

例如,在不平衡分类(使用 scikit-learn)中,平衡类(即将 class_weight 设置为平衡)与使用 SMOTE 进行过采样有什么区别?一个与另一个的预期效果是什么?

小智 7

类权重通过对具有更多(或更少)权重的类给予更多(或更少)的惩罚来直接修改损失函数。实际上,通过故意使模型偏向于更准确地预测较高权重类(少数类),基本上是牺牲了一些预测较低权重类(不平衡数据集的多数类)的能力。

过采样和欠采样方法本质上也给特定类更多的权重(重复观察会重复这些特定观察的惩罚,使它们对模型拟合产生更大的影响),但由于通常在训练中发生的数据拆分,这将产生略有不同结果也是如此。

请参考https://datascience.stackexchange.com/questions/52627/why-class-weight-is-outperforming-oversampling