gpt4 book ai didi

python - 多标签分类中的 roc_curve 有斜率

转载 作者:行者123 更新时间:2023-11-30 09:20:31 24 4
gpt4 key购买 nike

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

enter image description here

一切看起来都很好,除了一些元素有一条斜率如下的 roc 曲线:

enter image description here

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

基本上我的工作流程如下,我有一个预先训练的模型,Keras的实例,并且我有特征X和二值化标签y y中的每个元素都是一个长度为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曲线看起来像这样吗?

最佳答案

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

Slope usually means there are ties in your predictions.

这个问题就是这种情况。

关于python - 多标签分类中的 roc_curve 有斜率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41517202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com