python - scikit-learn:如何定义 ROC 曲线的阈值?
问题描述
在 中绘制 ROC(或导出 AUC)时scikit-learn
,如何为指定任意阈值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_class
比较y_true
。
如果你想要几个阈值,也可以这样做,并从每个阈值中获取混淆矩阵,以获得真假阳性率。
推荐阅读
- mysql - 每个派生表都必须在 C:\xampp\htdocs\company-directory\home.php 中有自己的别名
- javascript - 如何在输入内做边框?
- c++ - 线程 C++ 中的方法覆盖概念
- javascript - 为什么我的粒子在 JavaScript 中永远不会回到中间
- python - 如何传递查询字符串以在模板中呈现视图上下文?
- python-3.x - 如何使用 pyautogui 投射随机密钥?
- reactjs - 在 React Router 中进行两次路由加载或挂载
- etl - 未连接的查找 sql 覆盖问题
- entity-framework - 如何在启动类中注册 dbcontext 以供参考?
- node.js - NodeJS - 如果移动多个文件失败,删除失败的文件