【问题标题】:ROC AUC value is 0ROC AUC 值为 0
【发布时间】:2019-07-08 15:58:33
【问题描述】:

我训练了一个二元分类器,但我认为我的 ROC 曲线不正确。

这是包含标签的向量:

y_true= [0, 1, 1, 1, 0, 1, 0, 1, 0]

第二个向量是分数向量

y_score= [
    0.43031937, 0.09115553, 0.00650781, 0.02242869, 0.38608587, 
    0.09407699, 0.40521139, 0.08062053, 0.37445426
]

当我绘制我的 ROC 曲线时,我得到以下信息:

我认为代码是正确的,但我不明白为什么会出现这条曲线以及为什么 tprfprthreshold 列表的长度为 4。为什么我的 AUC 相等归零?

fpr [0.   0.25 1.   1.  ]
tpr [0. 0. 0. 1.]
thershold [1.43031937 0.43031937 0.37445426 0.00650781]

我的代码:

import sklearn.metrics as metrics

fpr, tpr, threshold = metrics.roc_curve(y_true, y_score)
roc_auc = metrics.auc(fpr, tpr)

# method I: plt
import matplotlib.pyplot as plt
plt.title('Receiver Operating Characteristic')
plt.plot(fpr, tpr, 'b', label = 'AUC = %0.2f' % roc_auc)
plt.legend(loc = 'lower right')
plt.plot([0, 1], [0, 1],'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
plt.show()

【问题讨论】:

    标签: python python-3.x scikit-learn roc


    【解决方案1】:

    关于 AUC 需要牢记的一点是,真正重要的是与 0.5 的距离。如果你的 AUC 非常低,那只是意味着你的“正面”和“负面”标签被交换了。

    看看你的分数,很明显低分(低于 ~0.095)意味着 1,高于该阈值的任何东西都是 0。所以你实际上有一个很棒的二元分类器!

    问题在于,默认情况下,较高的分数与标签 1 相关联。因此,您将高分的点标记为 1 而不是 0。因此,您 100% 的时间都是错误的。在这种情况下,只需转换你的预测,你就会 100% 正确。

    简单的解决方法是对sklearn.metrics.roc_curve 使用pos_label 参数。在这种情况下,您希望正面标签为 0。

    fpr, tpr, threshold = metrics.roc_curve(y_true, y_score, pos_label=0)
    roc_auc = metrics.auc(fpr, tpr)
    print(roc_auc)
    #1.0
    

    【讨论】:

    • 谢谢你的回复,我认为我的分数和标签是错误的,我刚刚发布了我的完整代码,对于分数,我输入了分数的余弦相似度,对于标签,我输入了值 0 和 1。我的意思是关于 0 和 1 的意思是如果两个面孔相似,所以如果两个面孔不同,我将值设为 1,标签等于 0,所以我得到一个 0 1 的向量用于预测和一个包含余弦相似度的分数向量,所以我正在对两个输入面进行间接分类希望你能回答我的问题@pault
    【解决方案2】:

    @pault 所说的具有误导性

    如果您的 AUC 非常低,那仅表示您的“阳性”和 “负面”标签被切换。

    AUC=0 意味着

    • 所有真正正面的数据点都被归类为负面
    • 所有真正的负数据点都归类为 积极的。

    AUC=1 表示存在阈值,可以完美分离数据。

    【讨论】:

      猜你喜欢
      • 2019-06-09
      • 2017-12-17
      • 2017-10-25
      • 2012-04-15
      • 1970-01-01
      • 2020-02-23
      • 2020-11-27
      • 1970-01-01
      • 2020-03-12
      相关资源
      最近更新 更多