繁体   English   中英

不平衡数据的特征工程

[英]Feature Engineering on imbalanced data

我正在训练一个关于分类问题的机器学习模型。 我的数据集是10000 个观察值,包含37 个分类类别。 但是数据不平衡,我有一些类有100 个观测值,而其他一些类有30004000 个观测值。

在搜索了如何对此类数据进行一些特征工程以提高算法的性能之后。 我找到了2个解决方案:

  • 上采样意味着获得更多关于少数类的数据
  • 下采样意味着删除关于多数类的数据

根据第一个解决方案:我有很多班级有一些观察,所以它需要更多的数据和很长的时间。 所以这对我来说会很困难!
通过应用第二个:我认为所有类都会有一些观察结果,并且数据将非常小,因此算法很难概括。

那么我可以尝试解决这个问题的另一种解决方案吗?

您可以更改损失函数中的权重,以便在优化时较小的类具有更大的重要性。 例如,在 keras 中,您可以使用weighted_cross_entropy_with_logits

您可以将两者结合使用。

如果您对所有少数类进行上采样以匹配多数类,那么您似乎担心会得到过大的数据集。 如果是这种情况,您可以将多数类下采样到 25% 或 50%,同时上采样少数类。 上采样的一种替代方法是使用 SMOTE 等算法为少数类合成样本。

如果您正在批量训练神经网络,最好确保训练集被正确打乱,并且您在小批量中拥有偶数/多数样本的均匀分布。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM