Scikit - 如何定义绘制 roc 曲线的阈值

2024-04-21

我有一个增强树模型以及测试数据集的概率和分类。我正在尝试绘制相同的 roc_curve 。但我无法弄清楚如何在 scikit learn 中定义 roc 曲线的阈值/alpha。

from sklearn.metrics import precision_recall_curve,roc_curve,auc, average_precision_score

fpr = dict()
tpr = dict()
roc_auc = dict()

fpr,tpr,_ = roc_curve(ytest,p_test, pos_label=1)
roc_auc = auc(fpr,tpr)

plt.figure()
lw = 2
plt.plot(fpr, tpr, color='darkorange', lw=lw, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver operating characteristic example')
plt.legend(loc="lower right")

plt.savefig('ROCProb.png')
plt.show()

我在这里看了一个类似的问题:scikit learn 中 roc_curve 的阈值 https://stackoverflow.com/questions/39155900/thresholds-in-roc-curve-in-scikit-learn

但无法弄清楚。我也愿意使用其他一些库。


中的每个值fpr and tpr是针对某个阈值计算的,这些阈值在第三个输出 roc_curve 中返回(在您的情况下为变量 _ )

这是一个例子

import numpy as np
from sklearn import metrics
y_true = np.array([1, 1, 2, 2])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
fpr, tpr, thresholds = metrics.roc_curve(y_true, y_scores, pos_label=2)

将数据制成表格以进行演示

   Threshold  FPR  TPR
0       0.80  0.0  0.5
1       0.40  0.5  0.5
2       0.35  0.5  1.0
3       0.10  1.0  1.0

上面的第一行显示,对于阈值 0.8,fpr 为 0,tpr 为 0.5,依此类推

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scikit - 如何定义绘制 roc 曲线的阈值 的相关文章

  • Pandas 将行中的非空值获取到一个单元格中[重复]

    这个问题在这里已经有答案了 给定以下数据框 a pd DataFrame A 1 2 B 4 0 C 1 2 a A B C 0 1 4 1 1 2 0 2 我想创建一个新专栏D包含由列分隔的非空值 每行 像这样 A B C D 0 1 4
  • 为什么Python有最大递归深度?

    Python有最大递归深度 但没有最大迭代深度 为什么递归受到限制 把递归当成迭代来对待 而不限制递归调用的次数不是更自然吗 我只想说这个问题的根源来自于尝试实现流 参见这个问题 https stackoverflow com questi
  • Pyenv 无法在 Cygwin 上安装 python: ModuleNotFoundError: No module named '_ctypes'

    我正在尝试设置 Cygwin 环境以使用 pyenv 来管理 python 版本 我没有管理员权限 所以我使用以下命令运行设置 no admin flag 我使用 Cygwin 包管理器应用程序解决了一些依赖关系 但我被困在了这一点上 Mo
  • 静态文件配置不正确

    我已经在 Heroku 上部署了简单的博客应用程序 它运行在Django 1 8 4 我在静态文件方面遇到了一些问题 当打开我的应用程序时 我看到Application Error页面 所以我尝试调试它并发现当我提交到 Heroku 时它无
  • 创建圆形图像 PIL Tkinter

    Currently I have a zoom feature in my application that works very well however I d like the actual zoom box to be a circ
  • Python 使用 M2Crypto 通过 S/MIME 对消息进行签名

    我现在花了几个小时 但找不到我的错误 我想要一个简单的例程来创建 S MIME 签名消息 稍后可以与 smtplib 一起使用 这是我到目前为止所拥有的 usr bin python2 7 coding utf 8 from future
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • 使用sklearn进行多标签特征选择

    我希望使用 sklearn 对多标签数据集执行特征选择 我想要获得最终的功能集across标签 然后我将在另一个机器学习包中使用它 我打算使用我看到的方法here https stackoverflow com questions 1640
  • 向 Python 2.6 添加 SSL 支持

    我尝试使用sslPython 2 6 中的模块 但我被告知它不可用 安装OpenSSL后 我重新编译2 6 但问题仍然存在 有什么建议么 您安装了 OpenSSL 开发库吗 我必须安装openssl devel例如 在 CentOS 上 在
  • 在ansible中合并字典

    我目前正在构建一个使用 ansible 安装 PHP 的角色 并且在合并字典时遇到一些困难 我尝试了多种方法来做到这一点 但我无法让它像我想要的那样工作 A vars file my default values key value my
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • x11 - 导入错误:没有名为“kivy.core.window.window_x11”的模块

    目前我正在尝试构建一个我通过 buildozer 用 Python 和 Kivy 编写的应用程序 无论我在做什么 我都会遇到 window x11 的问题 即使我在代码中注释掉所有与 Windows 相关的内容或执行本文中描述的所有操作 这
  • 请求response.iter_content()获取不完整的文件(1024MB而不是1.5GB)?

    您好 我一直在使用此代码片段从网站下载文件 到目前为止 小于 1GB 的文件都很好 但我注意到 1 5GB 文件不完整 s is requests session object r s get fileUrl headers headers
  • 向量化 numpy bincount

    我有一个 2d numpy 数组 A我要申请np bincount 到矩阵的每一列A生成另一个二维数组B由原始矩阵每列的 bincounts 组成A 我的问题是 np bincount 是一个采用一维数组的函数 它不是像这样的数组方法B A
  • 使用 Flask-SQLAlchemy 进行多对多多数据库连接

    我正在尝试使这个多对多联接与 Flask SQLAlchemy 和两个 MySQL 数据库一起工作 并且它非常接近 只是它为联接表使用了错误的数据库 这是基础知识 我有main db and vendor db 表格设置为main db u
  • Jupyter Notebook 中的多处理与线程

    我试图测试这个例子here https ipywidgets readthedocs io en stable examples Widget 20Asynchronous html将其从线程更改为多处理 在 jupyter Noteboo
  • django 组合对两个不同基本模型的查询

    我有两个不同的查询集 我想将两个查询集合并 q1 tbl nt 123 objects values list id value geometry filter restriction height exclude condition id
  • 测试中的模型 - Django 1.7 问题

    我正在尝试将我的项目移植为使用 Django 1 7 除了一件事之外 一切都很好 测试文件夹内的模型 Django 1 7 新迁移在内部运行 migrate 命令 在运行syncdb之前 这意味着如果模型未包含在迁移中 它将不会填充到数据库
  • 在Python中从列表中获取n个项目组的惯用方法? [复制]

    这个问题在这里已经有答案了 给定一个列表 A 1 2 3 4 5 6 是否有任何惯用的 Pythonic 方式来迭代它 就好像它是 B 1 2 3 4 5 6 除了索引之外 这感觉像是 C 的遗留物 for a1 a2 in A i A i
  • Selenium Python 使用代理运行浏览器[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个非常简单的脚本 该脚本从 txt 文件获取代理 不需要身份验证 并用它打开浏览器 然后沿着代理列表循环此操作一定次数 我确实知道如何打开 txt 文件并使用它 我的主要问题是让代理正常工作 我见

随机推荐

  • 如何转义 xsl:param 中的分号?

    我正在 Visual Studio 中编写 XSL 转换 据报告 下面的分号是一个 意外的标记
  • 当 props 改变时,以下策略中哪一个是重置组件状态的最佳方法

    我有一个非常简单的组件 带有文本字段和按钮 它接受一个列表作为输入 并允许用户循环浏览该列表 该组件有以下代码 import as React from react import Button from material ui core i
  • 如何在传递给命令行参数时转义 Bash 中的变量

    我有一个 Bash 脚本 Cygwin 它使用一些带有空格的 Windows 路径 因此 我逃离了这个空间 在我的变量定义中 脚本中的所有内容都运行良好 但是 我需要将此变量作为参数传递给命令行可执行文件 当我这样做时 我的逃跑就会变得一团
  • SED 或 AWK 将所有内容替换为另一个文件中的模式

    我正在尝试使用 SED 脚本进行模式替换 但它无法正常工作 样本内容 txt 288Y2RZDBPX1000000001dhana JP2F64EI1000000002d EU9V3IXI1000000003dfg1000000001dfd
  • 使用 NSArrayController 过滤单列 NSTableView

    我展示了一张带有NSTableView 一栏 一个NSSearchField and an NSButton 添加 我想要的是将表视图的内容设置为字符串列表 该字符串列表位于NSArray called list 应根据搜索字段的内容过滤此
  • 如何在 Google Ads api 中设置请求标头

    我想为我的经理帐户下的广告帐户提出预算 我有以下 YAML 文件 developer token 13245 login customer id 1324567891 customer id 1324567891 user agent 13
  • 为 v-html 添加 CSS 样式

    我想在 HTML 代码中添加样式v html 我尝试了几种解决方案 但没有任何功能 这是我的代码 模板 div class para div 脚本 export default data return value h2 TITLE h2 p
  • Android模拟器平台4.0启动问题

    我刚刚迁移到冰淇淋三明治模拟器 4 0 启动它时遇到很多困难 有时我收到数据库连接存在错误 并且无法启动 然后出现线程 52 违规之类的情况 现在模拟器已加载 但当我尝试解锁它时 我收到一些策略违规错误 然后它冻结了 我真的很沮丧 其他人也
  • UISearchBar - ReturnKeyType 不适用于 iOS 8

    我在用UISearchbar在故事板的表视图控制器中 和搜索栏returnKeyType is UIReturnKeySearch 它在 iOS7 上运行良好 但是returnKeyType不适用于 iOS8 在iOS8中 键盘上每次都会出
  • 无法使用 junit 测试异常

    我有一个包含 try catch 块的方法 但我不知道如何使我的测试通过 这是我的代码 public class ClassToTest public void loadFileContent try InputStream fileStr
  • 在 IIS7 中使用 WAS 时,global.asax Application_Start 等效项是什么

    我想对当前托管在 IIS7 中的 WCF 应用程序使用 netTcpBinding 这意味着将其配置为使用 WAS 这相当简单 但是 我的应用程序之前使用了 global asax 文件中的 Application Start 事件 我不需
  • 使用嵌套数组过滤对象数组

    所以我试图在对象数组上设置嵌套过滤器 问题是过滤器应用在对象内部的另一个对象数组的键上 这是代码 const items name 123 id 1 value true arr id 1 name 456 id 2 value false
  • iOS 7 错误警告:在演示或关闭正在进行时尝试从视图控制器 关闭

    我在 iOS 7 中遇到了 iOS 6 中未出现的问题 我有一个导航控制器 它显示另一个导航控制器来添加员工 第二个控制器以模态方式呈现 当我使用 取消 或 完成 按钮关闭第二个控制器时 出现错误 这是错误 QuickSchedule 88
  • 检查 LocalDateTime 是否在时间范围内

    我的时间 A 应该在时间 B 的 90 分钟范围内 之前和之后 示例 时间为 4 00 pm 时间 A 应介于 2 30 pm 90 到 5 30 pm 90 之间 尝试了以下方法 if timeA isAfter timeB minusM
  • 只允许在 Codeigniter 中看到路由中指定的 URL

    如果我有一个名为articles的控制器 它有一个名为view articles的方法 用户可以输入http example com articles view articles some post http example com art
  • python - 使用selenium在页面上查找电子邮件地址

    我正在尝试从网站获取电子邮件地址列表 并且非常接近 我的代码如下所示 我收到以下错误 发生的情况是 有一个链接页面 然后单击该链接 在下一页中有一个电子邮件地址 单击链接后 我试图打印每个页面内的电子邮件地址 这是链接点击进入的页面示例 h
  • 如何取消或停止客户端的推送通知?

    我有一个向客户端发送推送通知的网络服务器 客户端可以拦截推送通知UNNotificationServiceExtension在 iOS 10 上并更改内容 现在我想取消在某些通知上在客户端显示的推送通知 我怎么做 我尝试做 self con
  • 两个连续 KeyDown 事件之间的延迟较长

    我正在编写一个小游戏引擎 纯粹是为了从内部了解它们是如何工作的 我目前不想搞乱 OpenGL 或 DirectX 所以我坚持使用 GDI 和所有 WinForms 东西在控件上绘图 显然 我需要处理输入 更具体地说 是键盘事件 然而 这带来
  • WIX 合并 C++ 运行时

    我已经合并了 msm 与 2015 crt
  • Scikit - 如何定义绘制 roc 曲线的阈值

    我有一个增强树模型以及测试数据集的概率和分类 我正在尝试绘制相同的 roc curve 但我无法弄清楚如何在 scikit learn 中定义 roc 曲线的阈值 alpha from sklearn metrics import prec