如何在自动编码器模型上绘制ROC曲线并计算AUC?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在自动编码器模型上绘制ROC曲线并计算AUC?相关的知识,希望对你有一定的参考价值。
我创建了一个自动编码器模型,并使用图像序列数据集对其进行了训练。测试集的最终结果是重建图像。如何绘制ROC曲线并计算AUC?
编辑:这是我的代码:
model = AutoEncoder()
model.compile(loss='mse', optimizer='adam')
model.fit(dm, dm,
batch_size=batchSize,
epochs=epochs,
shuffle=False,
callbacks=callbacks_list, verbose=1
)
# load testset
....
reconstructed_sequences = model.predict(sequences,batch_size=1)
sequences_reconstruction_cost = np.array([np.linalg.norm(np.subtract(sequences[i],reconstructed_sequences[i])) for i in range(0,sz)])
sa = (sequences_reconstruction_cost - np.min(sequences_reconstruction_cost)) / np.max(sequences_reconstruction_cost)
sr = 1.0 - sa
其中sr是包含我的检测分数的最终结果。
答案
您需要运行从最小(sr)到最大(sr)的阈值范围,并为每个值计数四倍(真负(TN),真正(TP),假负(FN),假正(FP) ))获取许多列联表。然后针对每个阈值计算灵敏度= TP /(TP + FN)和特异性= TN /(FP + TN)。接收器工作特性(ROC)曲线是1-特异性(X轴)对灵敏度(Y轴)的曲线图。应该不太难用python编写代码。
以上是关于如何在自动编码器模型上绘制ROC曲线并计算AUC?的主要内容,如果未能解决你的问题,请参考以下文章
R语言构建logistic回归模型并评估模型:模型预测结果抽样可视化模型分类预测的概率分布情况使用WVPlots包绘制ROC曲线并计算AUC值
R语言plotly可视化:使用plotly可视化二分类模型的ROC曲线计算并在曲线中添加AUC值(basic binary ROC curve and auc score)
R语言plotly可视化:使用plotly可视化多分类模型的ROC曲线计算并在曲线中添加AUC值(multiclass classification ROC curve and auc score)