我正在针对二进制分类问题在非常不平衡的数据集上训练深度CNN。我有90%的0%和10%的1%。为了惩罚1的错误分类,我使用的是由sklearn的compute_class_weight()确定的class_weight。在传递给fit_generator()的验证元组中,我使用的是由sklearn的compute_sample_weight()计算的sample_weight。
网络似乎学得很好,但在每个时代之后,验证准确率仍然是90%或10%。考虑到我已经采取的克服它的步骤,如何解决Keras中的数据不平衡问题?
fit_generator的图片:fit_generator()
日志输出图片:log outputs
答案 0 :(得分:0)
奇怪的是,你的val_accuracy从0.9跳到0.1然后又回来了。你有正确的学习率吗?尽量降低它。
我的建议是:也使用f1指标。
你是如何拆分数据的?列车集类在测试集中具有相同的速率?