首页 文章

来自多标签分类的roc_curve具有斜率

提问于
浏览
1

我有一个用Keras编写的多标签分类器,我想从中计算AUC并绘制从我的测试集中分类的每个元素的ROC曲线 .

enter image description here

一切似乎都很好,除了一些元素的roc曲线具有如下斜率:

enter image description here

在这种情况下,我不知道如何解释斜率 .

基本上我的工作流程如下,我有一个预训练的 model ,Keras的实例,我有 X 和二值化标签 yy 中的每个元素都是一个长度为1000的数组,因为它是一个多标签分类问题 y 中的元素可能包含多个1,表示该元素属于多个类,因此我使用了 binary_crossentropy 的内置丢失,并且我的模型预测输出是分数临时性 . 然后我按如下方式绘制roc曲线 .

from sklearn.metrics import roc_curve, auc
#...
for xi, yi in (X_test, y_test):
    y_pred = model.predict([xi])[0]
    fpr, tpr, _ = roc_curve(yi, y_pred)

    plt.plot(fpr, tpr, color='darkorange', lw=0.5)

预测方法返回概率,因为我正在使用keras的功能api .

有谁知道为什么roc曲线看起来像这样?

1 回答

  • 0

    在scikit-learn的邮件列表中询问,他们回答说:

    坡度通常意味着您的预测中存在联系 .

    这个问题就是这种情况 .

相关问题