【发布时间】:2022-01-07 02:40:07
【问题描述】:
我正在使用 pytorch 进行多标签分类。我在 BCELoss 中使用了 pos_weights,因为我的数据不平衡。为了使用 pos_weight,我们是需要获取整个数据集(训练、验证、测试)还是只需要训练集来计算 pos_Weight...谢谢...
【问题讨论】:
标签: pytorch multilabel-classification pytorch-lightning
我正在使用 pytorch 进行多标签分类。我在 BCELoss 中使用了 pos_weights,因为我的数据不平衡。为了使用 pos_weight,我们是需要获取整个数据集(训练、验证、测试)还是只需要训练集来计算 pos_Weight...谢谢...
【问题讨论】:
标签: pytorch multilabel-classification pytorch-lightning
虽然不是编码问题,更适合不同的 SE 网站,但快速回答如下:
您总是假设您以前从未见过测试集,因此您不能以任何方式使用它来决定模型设计。对于验证集,可以提出类似的论点,即您希望使用不可见的数据定期进行验证。因此,您只想使用训练数据来计算类权重。
请记住,如果类分布不是未见数据(即现实世界或您的测试集)中类分布的表示,那么模型将针对错误的类分布进行优化。这应该通过更好地分析任务来解决,而不是直接使用测试集来确定类分布。
【讨论】: