在scikit-learn
中绘制ROC(或推导AUC)时,如何为roc_curve
指定任意阈值,而不是让函数在内部计算它们并返回他们吗?
from sklearn.metrics import roc_curve
fpr,tpr,thresholds = roc_curve(y_true,y_pred)
在Scikit - How to define thresholds for plotting roc curve询问了一个相关的问题,但是OP接受的答案表明他们的意图与写法不同。
谢谢!
答案 0 :(得分:2)
从分类器中获得的是分数,而不仅仅是课堂预测。
roc_curve
将为您提供一组阈值,以及相关的误报率和真正率。
如果您想要自己的阈值,请使用它:
y_class = y_pred > threshold
然后,您可以显示一个混淆矩阵,并将这个新的y_class
与y_true
进行比较。
如果您想要几个阈值,请执行相同的操作,并从每个阈值中获取混淆矩阵,以得出真假肯定率。
答案 1 :(得分:-1)
这很简单。 ROC曲线显示不同阈值的输出。您总是为模型选择最佳阈值来获取预测,但是ROC曲线显示了模型对于不同阈值的稳健性/良好性。在这里,您可以很好地解释其工作原理:https://www.dataschool.io/roc-curves-and-auc-explained/