我正在使用Roberta训练一个句子对二元分类模型,但是该模型无法学习正类(标签为1的类)。我的数据集是不平衡的,因此:训练数据-0 ---140623位1 ---5537验证数据-0 ---35156个单位1 ---1384在验证数据上,训练的结果是0个真阳性和0个假阳性。在评估过程中,我计算了宏F1,但如何在训练过程中处理类不平衡?有几篇文章提到BERT会处理不平衡本身。但在我的案例中,似乎没有发生这种情况。我使用的是this数据集。任何帮助都是感激不尽的。
erhoui1w1#
如果您使用Tensorflow,您可以为数据或类添加权重,从而保持多样性并平衡损失:https://datascience.stackexchange.com/questions/13490/how-to-set-class-weights-for-imbalanced-classes-in-keras我没有使用pytorch,但我假设有一些等价物。
1条答案
按热度按时间erhoui1w1#
如果您使用Tensorflow,您可以为数据或类添加权重,从而保持多样性并平衡损失:https://datascience.stackexchange.com/questions/13490/how-to-set-class-weights-for-imbalanced-classes-in-keras
我没有使用pytorch,但我假设有一些等价物。