Keras 奇怪的ROC曲线,fpr>;tpr,我该如何改进它?

Keras 奇怪的ROC曲线,fpr>;tpr,我该如何改进它?,keras,scikit-learn,autoencoder,roc,Keras,Scikit Learn,Autoencoder,Roc,我建立了一个使用CNN自动编码器检测异常的模型 fpr,tpr,thresholds=roc_curve(y_true=Y_test_2,y_score=X_test_2_loss,pos_label='anomaly') roc_auc=auc(fpr,tpr) 训练完成后,以重建误差作为异常评分,绘制ROC曲线 在这张图片中,在某个阈值fpr>tpr。。。。。。 这种现象严重吗?是样本分布还是模型本身造成的? 我很困惑,如何改进我的模型?这仅仅意味着,对于fpr>tpr的领域,你的模型比

我建立了一个使用CNN自动编码器检测异常的模型

fpr,tpr,thresholds=roc_curve(y_true=Y_test_2,y_score=X_test_2_loss,pos_label='anomaly')
roc_auc=auc(fpr,tpr)
训练完成后,以重建误差作为异常评分,绘制ROC曲线

在这张图片中,在某个阈值fpr>tpr。。。。。。 这种现象严重吗?是样本分布还是模型本身造成的?
我很困惑,如何改进我的模型?

这仅仅意味着,对于fpr>tpr的领域,你的模型比单纯的猜测更糟糕。另一方面,auc=.66不太令人印象深刻,但这可能是因为无法从您拥有的数据/功能中了解事实输出。你的数据高度不平衡吗?谢谢你的回复。我的数据集有6000个训练图像和1000个测试图像,大约异常:正常==1:9。我建立了一个不平衡测试集,只有很少的阳性样本。我在想,与正常情况相比,异常情况是罕见的。测试集的不平衡是问题的原因吗?也许我必须通过培训来改进我的模型,以学习更有效的功能和更低的损失。我不知道问题是在于数据还是模型本身。我通过改变模型的损失函数和添加bn层取得了进展