在二元分类问题中如何为不平衡数据选择正确的神经网络?

时间:2018-11-01 04:04:03

标签: python-3.x keras

我正在使用keras sequential模型进行二进制分类。但是我的数据不平衡。我有2个功能列和1个输出列(1/0)。我有10000个数据。其中只有20个结果输出1,所有其他均为0。然后,我将数据大小扩展为40000。现在,也只有20个结果输出1,所有其他均为0。由于数据是不平衡的(0占1,所以它是0)。神经网络更适合正确的预测?

1 个答案:

答案 0 :(得分:0)

首先,两个功能的确很少。神经网络是高度非线性的模型,具有非常高的自由度,因此,如果您尝试使用多个网络训练神经网络,即使使用平衡的类,也会过拟合。您可以在scikit-learn库中找到更适合小尺寸的模型,例如Support Vector Machines。

关于不平衡数据,最常见的技术是欠采样和过采样。欠采样基本上是使用一部分数据集(包含非主导类和随机的主导类样本)对模型进行几次训练,以便该比率是可以接受的,因为过采样包括生成人工数据以平衡类。在大多数情况下,欠采样效果更好。

此外,在处理不平衡数据时,根据对问题更重要的因素(正确率要比误报率要重要,将误报率减到最小等来选择正确的指标)也很重要。