优化不平衡测试集二元分类的决策阈值

问题描述 投票:0回答:1

我正在研究一个二元分类问题,使用多层感知器 (MLP) 模型来区分虚假和非虚假的 Foley 音效。该模型输出一个概率分数(在输出层中使用 sigmoid 激活函数),然后我根据决策阈值将其分类为假或非假。目前,决策阈值设置为 0.5。

我的数据集本质上是不平衡的,两个类之间的分布存在显着差异。然而,出于训练目的,我设法通过过采样来平衡数据集,从而在训练集中实现 50/50 的类分布。另一方面,评估测试集反映了原始的不平衡分布,包含大约 80% 的 0 类(假)和 20% 的 1 类(非假)。

我在评估集上取得了良好的精度(88%),但我担心仅基于该集优化决策阈值可能无法很好地推广到其他数据集,特别是那些具有更平衡或分布不同的类集的数据集。

我正在寻求有关如何在这种情况下进行决策阈值优化的建议。

注意:我在处理/训练步骤中使用 pytorch。

python pytorch classification evaluation mlp
1个回答
0
投票

设置阈值是精确度和召回率之间的权衡。您应该确定哪个指标对于您的特定用例最重要,然后选择在验证集上提供最佳指标结果的阈值。您可以使用 ROC 曲线来可视化权衡。

© www.soinside.com 2019 - 2024. All rights reserved.