Pytorch ROC-AUC较高,但PR-AUC值非常低
我正在研究DNA序列数据,并在Pytorch中使用CNN。我的数据集极不平衡 正类样本(~500) 负类样本(~150000) 所以我使用WeightedRandomSampler在向数据加载器提供数据之前对类进行过采样和平衡 我使用5倍交叉验证。当我进行一些测试运行时,我可以得到一个不错的ROC值,但PR-AUC值似乎很低 对于折叠1: 中华民国auc 0.9667848699763594 精度auc 0.055329116326074484 对于折叠2: 中华民国auc 0.8476321207961566 精度auc 0.03307627288669479 对于折叠3: roc auc 0.9528898540612085 精度auc 0.05020178518546394 我怀疑有很多错误的否定。由于正类样本(~500)与负类样本(~150000)相比非常低,因此模型更好地学习负类,并预测大多数测试样本为负 我试着用计算机来衡量这个积极的班级Pytorch ROC-AUC较高,但PR-AUC值非常低,pytorch,precision-recall,Pytorch,Precision Recall,我正在研究DNA序列数据,并在Pytorch中使用CNN。我的数据集极不平衡 正类样本(~500) 负类样本(~150000) 所以我使用WeightedRandomSampler在向数据加载器提供数据之前对类进行过采样和平衡 我使用5倍交叉验证。当我进行一些测试运行时,我可以得到一个不错的ROC值,但PR-AUC值似乎很低 对于折叠1: 中华民国auc 0.9667848699763594 精度auc 0.055329116326074484 对于折叠2: 中华民国auc 0.84763212
weight = [50.0]
class_weight = torch.FloatTensor(weight).to(device)
criterion = nn.BCEWithLogitsLoss(pos_weight=class_weight)
通过这样做,几乎所有样本都被预测为阳性
我也尝试了自适应学习率,但精确回忆值似乎没有改善。
有人能指导我,让我知道提高准确度和回忆值的方法吗?
谢谢