python - scikit-learn:如何定义 ROC 曲线的阈值?

标签 python scikit-learn roc

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接受的答案表明他们的意图与编写方式不同。

谢谢!

最佳答案

您从分类器得到的是分数,而不仅仅是类别预测。

roc_curve 将为您提供一组具有相关假阳性率和真阳性率的阈值。

如果您想要自己的阈值,只需使用它即可:

y_class = y_pred > threshold

然后您可以显示一个混淆矩阵,并将这个新的 y_classy_true 进行比较。

如果您想要多个阈值,请执行相同的操作,并从每个阈值中获取混淆矩阵以获得真阳性率和假阳性率。

关于python - scikit-learn:如何定义 ROC 曲线的阈值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53335094/

相关文章:

python - 获取要安装的正确版本的 Pmw

python - 来自 python 元组的 NetworkX 图表

python : Trying to POST form using requests

python - 在 scikit-learn 中对多个随机森林模型进行平均

r - 查找 ROC 曲线列表的外壳的代码(曲线集的上限和下限)

Python 3 多行打印更新

Python,sklearn,it-idf 如何按 "####"分割,默认空格

scikit-learn - 缩放 PCA 的独热编码变量

python - 使用交叉验证 (CV) 计算 scikit-learn 多类 ROC 曲线

python - 如何计算多类交叉验证的平均 ROC