分类问题中两个类别的比例重要吗?

我正在使用收集的一些推文构建一个情感分析程序。我收集的标记数据将通过一个神经网络进行分类,分类为两个类别:正面和负面。

数据仍在标记中。到目前为止,我观察到正面类别的样本数量非常少。

在我的训练集中,正面类别的记录可能只占训练数据集的5%(这种比例也可能反映在总体中)。

这会在最终的“程序”中造成问题吗?数据集的大小约为5000条记录。


回答:

是的,确实可能。需要考虑两点:

  1. 5000的5%是250。因此,你将尝试基于仅250个样本来建模你的类别数据分布。这对于神经网络来说可能小得多的数量级。因此,你可能需要40倍更多的数据来获得一个有代表性的样本。虽然你可以通过子采样轻松减少多数类别,而不会有破坏结构的重大风险——但没有办法从更少的点中获取“更多结构”(你可以复制点、添加噪声等,但这不会增加结构,这只是增加了假设)。
  2. 类别不平衡也可能导致收敛到简单的解决方案,比如“总是False”,这种方案的准确率为95%。在这里,你可以尝试调整成本函数,使其对不平衡更具鲁棒性(特别是——@PureW建议的训练分割只是试图改变损失函数,使其对少数类别有更大权重的“黑盒”方法。当你能访问你的分类器损失时,就像在神经网络中,你不应该这样做——而是应该改变成本函数,并保留所有数据)。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注