我使用TensorFlow LinearClassifier和DNN来分类两类数据集。
然而,问题是数据集包含96%的正输出和4%的负输出,我的程序总是将预测返回为正数。当然,在这种情况下,我将达到96%的准确率,但它根本没有意义。
处理这种情况的好方法是什么?
答案 0 :(得分:4)
您可以尝试更改成本函数,以便误报输出会比假阴性更严重。
答案 1 :(得分:4)
以下是最简单的解决方案,您可以做的就是:
答案 2 :(得分:2)
您可以在自己的负面示例上学习自动编码器(如果它们的数量很大),然后使用推理技术(例如variational Bayes或Markov Chain Monte Carlo)生成示例。这样,您可以增加负示例的样本数量,并向更平衡的数据集转移。
答案 3 :(得分:0)
您可以查看本文中的不同采样技术,以减轻类不平衡问题http://www.machinelearning.org/proceedings/icml2007/papers/62.pdf。简单的随机少数过采样通常效果更好。