- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究带有 2 个标签的分类问题:0 和 1。我的训练数据集是一个非常不平衡的数据集(考虑到我的问题,测试集也是如此)。
不平衡数据集的比例为 1000:4,标签“0”比标签“1”出现的次数多 250 倍。但是,我有很多训练样本:大约 2300 万。所以我应该为标签“1”获得大约 100 000 个样本。
考虑到我有大量的训练样本,我没有考虑 SVM。我还阅读了关于随机森林的 SMOTE。但是,我想知道 NN 是否可以有效地处理这种具有大型数据集的不平衡数据集?
另外,当我使用 Tensorflow 来设计模型时,我应该/可以调整哪些特性来处理这种不平衡的情况?
谢谢你的帮助 !
保罗
更新 :
考虑到答案的数量,而且它们非常相似,我将在这里全部回答,作为一个共同的答案。
1)我在这个周末尝试了第一个选项,增加了正面标签的成本。实际上,由于不平衡的比例较小(例如另一个数据集上的 1/10),这似乎有助于获得更好的结果,或者至少可以“偏向”精确率/召回率分数比例。
但是,就我的情况而言,
它似乎对字母数字非常敏感。 alpha = 250,这是不平衡数据集的比例,我的精度为 0.006,召回分数为 0.83,但模型预测的 1 太多了,它应该是 - 标签 '1' 的大约 0.50 .. .
当 alpha = 100 时,模型只预测“0”。我想我必须为此 alpha 参数做一些“调整”:/
我也会从 TF 看一下这个函数,因为我现在是手动完成的:tf.nn.weighted_cross_entropy_with_logitsthat
2)我会尝试去平衡数据集,但我担心这样做会丢失很多信息,因为我有数百万个样本,但只有大约 10 万个正样本。
3)使用较小的批量似乎确实是个好主意。我会试试看 !
最佳答案
对于 imbanlanced 数据集,通常有两种常见的方式:
关于neural-network - 神经网络 - 处理不平衡的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38664487/
我是一名优秀的程序员,十分优秀!