繁体   English   中英

sklearn中ROC曲线的AUC

[英]AUC for ROC curve in sklearn

我试图了解 ROC 曲线如何对 AUC 起作用。

y_pred = clf.predict(X2)
probs = clf.predict_proba(X2)
# keep probabilities for the positive outcome only
probs = probs[:, 1]
# calculate AUC
auc = roc_auc_score(y_true, probs)

当我运行probs = probs[:,1]我的 AUC 为 0.66。 但是,当我运行probs=probs[:,0]我的 AUC 为 0.34。

我正在解决一个二进制类问题。

混淆矩阵如下

array([[  77,   34],
       [ 825, 1027]])

我的困惑在于,为什么文档指出我们必须使用更大的类。 更高等级这个词是什么意思。 如果我要交换标签,那没关系吗?

文档中提取

对于二进制 y_true,y_score 应该是具有更大标签的类的分数。

score of the class with greater label的分数意味着分数应该是该类的,表示为 1(更大的索引)。

如果输入是多标签类型,则分数的维度应为 y。 请记住,在输入roc_auc_score之前, y 必须转换为一个热向量或多热向量。

这就是分数较低的原因,当您给出了proba值的第一列时,它代表了 0 类的概率。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM