【发布时间】:2019-09-03 14:00:24
【问题描述】:
在不平衡分类(使用 scikit-learn)中,平衡类(即将 class_weight 设置为平衡)与使用 SMOTE 进行过采样有什么区别? 一个与另一个的预期效果是什么?
【问题讨论】:
标签: python scikit-learn classification imblearn
在不平衡分类(使用 scikit-learn)中,平衡类(即将 class_weight 设置为平衡)与使用 SMOTE 进行过采样有什么区别? 一个与另一个的预期效果是什么?
【问题讨论】:
标签: python scikit-learn classification imblearn
类权重通过对权重更多(或更少)的类给予更多(或更少)惩罚来直接修改损失函数。实际上,通过故意使模型偏向于对较高权重类(少数类)进行更准确的预测,基本上牺牲了一些预测较低权重类(不平衡数据集的多数类)的能力。
过采样和欠采样方法本质上也为特定类别赋予了更多权重(重复观察会重复对这些特定观察的惩罚,从而使它们在模型拟合中产生更大的影响),但由于训练中通常会发生数据拆分,这将产生的结果也略有不同。
请参考https://datascience.stackexchange.com/questions/52627/why-class-weight-is-outperforming-oversampling
【讨论】: