我有一个高度不平衡的文本文档数据集(3%是,87%不),包含一个标题和抽象特性。我已经将这些文档转换为带有填充批的tf.data.Dataset实体。现在,我正在尝试使用深度学习来训练这个数据集。使用model.fit()在TensorFlow中,您可以使用class_weights参数来处理类的不平衡,但是,我正在使用keras-tuner库寻找最佳参数。在它们的超参数调谐器中,它们没有这样的选项。因此,我现正寻求其他处理阶级不平衡的方案。
在keras-tuner中有使用类权重的选项吗?另外,我已经使用了precision@recall度量。我也可以尝试数据重采样方法,例如imblearn.over_sampling.SMOTE,但正如这 Kaggle post提到的那样:
看来SMOTE无助于改善结果。然而,它使网络学习速度更快。此外,还有一个大的问题,这种方法不兼容较大的数据集。你必须在嵌入的句子上使用打击炮,这占用了太多的内存。
发布于 2020-10-13 03:57:44
如果您正在寻找处理不平衡数据的其他方法,您可以考虑使用SMOTE或ADASYN包生成合成数据。这通常是可行的。我看你认为这是一个值得探索的选择。
发布于 2020-10-12 10:13:27
您可以将评估指标更改为fbeta_scorer。
或者,如果数据集足够大,则可以尝试过低采样。
https://stackoverflow.com/questions/64315183
复制相似问题