1

我有一个高度不平衡的文本文档数据集(3% 是,87% 否),包含标题和摘要特征。我已将这些文档转换为tf.data.Dataset带有填充批次的实体。现在,我正在尝试使用深度学习来训练这个数据集。在model.fit()TensorFlow 中,你有class_weights处理类不平衡的参数,但是,我正在寻找使用keras-tuner库的最佳参数。在他们的超参数调谐器中,他们没有这样的选择。因此,我正在寻找其他解决阶级不平衡的选择。

有没有使用班级权重的选项keras-tuner?补充一点,我已经在使用这个precision@recall指标了。我也可以尝试一种数据重采样方法,例如imblearn.over_sampling.SMOTE,但正如这篇Kaggle 帖子所提到的:

SMOTE 似乎无助于改善结果。但是,它使网络学习更快。此外,还有一个大问题,这种方法不兼容更大的数据集。您必须对嵌入的句子应用 SMOTE,这会占用太多内存。

4

2 回答 2

1

如果您正在寻找其他方法来处理不平衡数据,您可以考虑使用 SMOTE 或 ADASYN 包生成合成数据。这通常有效。我看到您已将其视为探索的一种选择。

于 2020-10-13T03:57:44.677 回答
0

您可以将评估指标更改为 fbeta_scorer。(其加权 fscore)

或者如果数据集足够大,可以尝试欠采样。

于 2020-10-12T10:13:27.523 回答