如果我在 CNN 中获得相同的 AUC 和 AUROC 值,这意味着什么?
What does it mean if I am getting the same AUC and AUROC value in a CNN?
我正在 运行 构建一个卷积神经网络。完成 运行ning 后,我使用一些指标来评估模型的性能。其中 2 个指标是来自 sklearn
的 auc 和 roc_auc_score
我使用的代码如下:
print(pred)
fpr, tpr, thresholds = metrics.roc_curve(true_classes, pred, pos_label=1)
print("-----AUC-----")
print(metrics.auc(fpr, tpr))
print("----ROC AUC-----")
print(metrics.roc_auc_score(true_classes, pred))
其中 true_classes 是 table 的形式:[0 1 0 1 1 0] 其中 1 是正标签,0 是负标签。
pred 是模型的预测:
prediction = classifier.predict(test_final)
prediction1 = []
predictions = []
for preds in prediction:
prediction1.append(preds[0])
pred = prediction1
然而,无论我 运行 测试多少次,我都得到相同的 AUC 和 ROC AUC 值(我的意思是每次测试中的 AUC 和 ROC AUC 值都是相同的。不是它们在所有测试中保持不变。例如,对于测试 1,我得到 AUC = 0.987 和 ROC_AUC = 0.987,对于测试 2,我得到 AUC = 0.95 和 ROC_AUC = 0.95)。难道我做错了什么?还是正常?
根据链接的文档,metrics.auc
是根据曲线的点计算曲线下面积的一般情况方法。
metrics.roc_auc_score
是用于计算ROC曲线曲线下面积的具体案例方法。
如果您使用相同的数据计算两者,您不会期望看到不同的结果,因为 metrics.roc_auc_score
将执行与 metrics.auc
相同的操作,并且很可能使用 metrics.auc
方法本身,在引擎盖下(即使用通用方法计算 ROC 曲线下面积的特定任务)。
我正在 运行 构建一个卷积神经网络。完成 运行ning 后,我使用一些指标来评估模型的性能。其中 2 个指标是来自 sklearn
的 auc 和 roc_auc_score我使用的代码如下:
print(pred)
fpr, tpr, thresholds = metrics.roc_curve(true_classes, pred, pos_label=1)
print("-----AUC-----")
print(metrics.auc(fpr, tpr))
print("----ROC AUC-----")
print(metrics.roc_auc_score(true_classes, pred))
其中 true_classes 是 table 的形式:[0 1 0 1 1 0] 其中 1 是正标签,0 是负标签。
pred 是模型的预测:
prediction = classifier.predict(test_final)
prediction1 = []
predictions = []
for preds in prediction:
prediction1.append(preds[0])
pred = prediction1
然而,无论我 运行 测试多少次,我都得到相同的 AUC 和 ROC AUC 值(我的意思是每次测试中的 AUC 和 ROC AUC 值都是相同的。不是它们在所有测试中保持不变。例如,对于测试 1,我得到 AUC = 0.987 和 ROC_AUC = 0.987,对于测试 2,我得到 AUC = 0.95 和 ROC_AUC = 0.95)。难道我做错了什么?还是正常?
根据链接的文档,metrics.auc
是根据曲线的点计算曲线下面积的一般情况方法。
metrics.roc_auc_score
是用于计算ROC曲线曲线下面积的具体案例方法。
如果您使用相同的数据计算两者,您不会期望看到不同的结果,因为 metrics.roc_auc_score
将执行与 metrics.auc
相同的操作,并且很可能使用 metrics.auc
方法本身,在引擎盖下(即使用通用方法计算 ROC 曲线下面积的特定任务)。