如何生成阳性预测值 (PPV) 与各种分类截止点的关系图?

2024-03-17

我生成了一些分数来帮助预测某些内容是“是”(1) 还是“否”(0),假设数据包括:

scores = c(10:20)

response = c(0,0,1,0,1,0,1,1,0,1,1)

mydata = data.frame(scores, response)

我可以进行 ROC 分析,得出 AUC 为 0.77:

roc(response = mydata$response, predictor = mydata$scores) 

现在,我如何准确地看到选择不同的截止值时会发生什么?我想在 x 轴上设置截止值(比方说 13,14,15,16,17),在 y 轴上设置 PPV。有什么好的方法可以做到这一点?我需要什么功能/包?


我将根据 pROC 包*给出答案。使用 ROCR 包也可以获得类似的结果。

您想使用coords https://www.rdocumentation.org/packages/pROC/versions/1.9.1/topics/coords函数,它可以在某些给定阈值下计算一些常见的统计数据。例如,为了获得所有阈值的 PPV,您可以执行以下操作:

library(pROC)
r <- roc(response = response, predictor = scores)
coordinates <- coords(r, x = "all", input = "threshold", ret = c("threshold", "ppv"))

然后您可以绘制这些值:

plot(t(coordinates))

Replace "all"按兴趣阈值:

 coordinates <- coords(r, x = c(13, 14, 15, 16, 17), input = "threshold", ret = c("threshold", "ppv"))

* Disclaimer: I am the author of the pROC package.

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

如何生成阳性预测值 (PPV) 与各种分类截止点的关系图? 的相关文章

  • data.table:从不存在的列到现有列的“get”失败,静默失败

    gt d lt data table x 1 5 gt d x 6 y get i 9 Error in get i 9 object i 9 not found gt d y 1 add a new column y gt d x 6 y
  • 准备编程竞赛的缩写和函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 不理解..密度的行为

    在下面的数据框中 我预计密度的 y 轴值为 0 6 和 0 4 但它们是 1 0 我觉得我使用的方式显然缺少一些非常基本的东西 密度 但是我的大脑冻结了 我将如何使用 密度 获得所需的行为 任何帮助将不胜感激 df lt data fram
  • 获取所有参数作为列表

    R 是否提供对象 函数 方法 关键字来获取所有函数参数 使用一个例子 function a b default 会提供a and b也 在函数环境内 有没有类似的说法list 这还包括a and b在结果中 或者换一种方式 简写list a
  • 为什么 as.character() 返回日期列表中的整数?

    我惊讶地发现 R 中出现以下行为 as character c Sys Date gt 1 2018 02 05 as character list Sys Date gt 1 17567 为什么会出现这种情况 也就是说 显然 17567
  • r testthat 和 covr 在非包库中使用

    我希望能够使用testthat and covr在一个项目中not一个 r 包 事实上不使用任何第三方服务 只是普通的旧 r 源文件的集合 我正在努力找出这是否可行 如果可以 则已设置有关如何设置的说明 我发现假设你正在编写一个 r 包 我
  • 如何替换R中的“意外转义字符”

    当我尝试从 Facebook URL 的字符对象解析 JSON 时 我收到 fromJSON data 中的错误 位置 130 处出现意外的转义字符 o 看一下这个 library RCurl library rjson data lt g
  • 如何在 R 中绘制预测的子集?

    我有一个简单的 R 脚本来根据文件创建预测 自 2014 年以来就有数据记录 但我在尝试实现以下两个目标时遇到了困难 仅绘制预测信息的子集 从 11 2017 开始 以特定格式包含月份和年份 即 6 月 17 日 这是链接到dataset
  • R 和 Python 中 LU 分解结果不一致

    我有以下矩阵A in R 1 2 3 4 1 1 1527778 0 4444444 0 375 0 3333333 2 0 5555556 1 4888889 0 600 0 3333333 3 0 6250000 0 4000000 1
  • 通过删除连续的重复项来减少字符串长度

    我有一个包含 2 个字段的 R 数据框 ID WORD 1 AAAAABBBBB 2 ABCAAABBBDDD 3 我想通过仅保留字母而不是重复中的重复项来简化具有重复字母的单词 e g AAAAABBBBB应该给我AB and ABCAA
  • R:install.packages 中出现错误:无法打开连接

    我试图安装 RINDSEL 包 但无法安装它 并且不断收到以下错误 install packages 中出错 无法打开连接 我从以下位置下载了该软件包 rindsel 1 0 2 zip 综合养殖平台 http old ibpdev net
  • 如何拆分 data.frame -> 将合并应用于子集 -> 合并到 data.frame 中

    我真的不知道如何在不使用 for 循环的情况下实现这一目标 x lt c a b c d gt x 1 a b c d data lt data frame x c a b a b c a a b c d name c one one tw
  • 无法使用 cairo 安装 R

    我正在从源代码安装 R cd R 3 2 2 configure prefix pwd with cairo yes with readline no with libpng yes with x no 我已经从源代码安装了 cairo v
  • 如何在R中绘制仪表图表?

    如何在 R 中绘制以下图 Red 30 Yellow 40 Green 30 Needle at 52 所以这里有一个完整的ggplot解决方案 注意 从原始帖子中编辑 在仪表中断处添加数字指示器和标签 这似乎是OP在评论中所要求的 如果不
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • 自定义 colorRampPalette 中的颜色条

    我定义了一个 colorRampPalette my colors colorRampPalette c light green yellow orange red 如何为其绘制颜色条 图例 项目 最好仅使用基本包 我正在寻找一个充满该颜色
  • 生成因子变量水平的预测值

    我正在使用连续结果变量对多个因子变量进行回归lm 例如 fit lt lm dv factor hour factor weekday factor month factor year count data df 我想生成预测值 yhat
  • 向图像添加坐标,以用作 R 中的 Leaflet、Shiny 和 Shinydashboard 包中的地图

    我计划使用 Leaflet Shiny 和 Shinydashboard 沿着以下很棒的路线创建一个带有医院 OHS 事件标记的交互式地图交互式地图和直方图模板 http shiny rstudio com gallery superzip
  • S4 类 [(子集)带有附加参数的继承

    这是一个扩展在 R 中的访问器函数中使用 callNextMethod https stackoverflow com q 24875284 2752888 2017 03 25 更新 为了说明如何仅在加载方法时失败 但在构建的包中时不会失
  • 按列分组的数据帧上 R 中的行之间的差异

    我希望通过 app name 获得不同版本的计数差异 我的数据集如下所示 app name version id count difference 这是数据集 data structure list app name structure c

随机推荐

  • jQuery 中的简单淡入和可见性

    我正在尝试更改 css 属性visibility一个 div 到visible用 jQuery fadeIn 过渡 这是我的代码 a click function test fadeIn slow function this css vis
  • 伪终端中的 Ncurses 程序

    在我不断尝试了解伪终端如何工作的过程中 我编写了一个小程序来尝试运行 bash 问题是 我的断线似乎已经关闭 shell 提示符仅在我按 Enter 键后出现 此外 我仍然无法正确使用 ncurses 程序 例如 vi 谁能告诉我如何为此设
  • Swift - 在 NSArray 中插入对象/项目/添加对象/项目

    我有这个代码 var NToDel NSArray var addInNToDelArray Test1 Test2 如何添加addInNToDelArray in NToDel NSArray 你不能 NSArray是一个不可变数组 因此
  • 如何等待多个期货?

    假设我有几个 future 并且需要等到either其中任何一个都失败了or他们都成功了 例如 假设有 3 个期货 f1 f2 f3 If f1成功并且f2失败我不等待f3 并返回failure给客户 If f2失败同时f1 and f3仍
  • Ruby on Rails 中的社交媒体共享按钮

    我正在尝试在 Ruby on Rails 的博客应用程序中添加自定义社交媒体共享按钮 对我来说重要的是 将显示一个用于共享 帖子 的弹出窗口 这意味着我想包含 Javascript 不幸的是这段代码不起作用 a a
  • 向旋转矩形添加“假”抗锯齿

    我正在使用 Corona SDK 它最近禁用了抗锯齿功能 并且无法重新启用它 我有几个使用旋转矩形和线条的应用程序 并且想要一种不看起来锯齿状的方法 此图显示了差异 有没有办法在 Corona 中为这些矩形添加某种抗锯齿功能 我更喜欢抗锯齿
  • @IntDef 注释和从其他无法注释的代码返回值或如何暂时禁用注释影响代码?

    我在用IntDef https developer android com reference android support annotation IntDef html from Android 支持注解 https sites goo
  • Kendo Asp.net MVC 网格批处理模式计算列显示不更新

    在 Ajax 批处理模式下使用 Kendo Asp net MVC 网格 具有三列 数量 费率 总计 需要实现对变化的实时计算 编写以下函数来更新数据 function grid change e if e action itemchang
  • 在 MVC 架构中公开 Java 组件(例如 JButton)的最佳方式是什么?

    我目前正在用 Java 编写一个 Blackjack 应用程序 它需要用 MVC 架构编写 我的所有模型 视图和控制器都已完全编码 一切都运行良好 但是 我想知道将侦听器附加到组件的最佳方法是什么 例如 JButton 我当前的设计将视图中
  • 狮子滚动条颜色

    Lion 中的滚动条似乎基于 HTML 背景颜色 较浅的颜色 BG 黑色滚动条 较深的 BG 白色 我遇到的问题是 我认为 关于页脚的常见技巧 我通常将 HTML 元素的背景颜色设置为页脚的颜色 这样 如果页面比浏览器窗口短 页脚似乎会继续
  • 我无法导入任何 python 模块,也无法使用 pip 安装任何模块

    当我尝试导入使用 pip3 安装的任何模块时 系统只会向我发送大量文本 很抱歉我无法指定更好的内容 但我对 python 和 ubuntu 很陌生 我尝试了命令 pip3 list 然后我得到这个 usr lib python3 dist
  • 在 PyMongo 中查找子字符串

    我想使用 PyMongo 在 MongoDB 中的字段中查找子字符串 以下查询工作正常 并且是我所需要的 db collection find Animal cat Dog i 但是 如果我尝试传递该值 cat Dog i作为 Python
  • PyCharm 在带有大数据的 iPython 控制台中长时间挂起

    我看过一些报告 PyCharm 很慢 但我遇到了一个问题 即使与正常操作相比 它似乎也太慢了 我在 pandas 数据框中有大量数据 从 440 MB 的 csv 文件读取 当我在 PyCharm 中使用 ipython 控制台时 每次我尝
  • 在Android中升级数据库的正确方法是什么

    如果我想保留一些旧数据并迁移到新版本的数据库 onUpgrade方法中的正确步骤是什么 保留旧数据 删除旧表 创建新表并插入旧数据 有没有简化版本或者有更好的方法 谢谢 升级数据库 在表中添加新字段 在 onUpgrade 中执行以下步骤
  • Mysql 安装程序显示错误:无法写入内存

    我正在尝试安装 MySql Workbench 并下载mysql 安装程序 web community 5 7 13 0 msi 当我运行此文件时 出现以下错误 0x6d4424ff 处的指令引用了 0x6d4424ff 处的内存 内存无法
  • GoPro:获取每帧时间戳

    我目前正在尝试从使用 GoPro 录制的 MPEG 4 文件中提取每个帧时间戳 我想要相机捕获该帧的确切时间 以便稍后将其与计算机视觉算法结合起来 我知道输出帧率为 25 fps 我使用 ffmpeg 和 ffprobe 以不同的方式提取了
  • 用按钮和JS水平滚动隐藏的overflow-x

    我正在尝试使用右侧 左侧的按钮在具有多个 a 标签的 div 中水平滚动 因此我无法使用相同的按钮滚动到 hashtag 我想做的正是与不同标签的 Google 图片搜索标题一样 prsc overflow x hidden overflo
  • Knockout.js 与多个 Select2 绑定

    我的问题是 当我将 Select2 与 Multiple 和 Knockout 视图模型绑定时 选择其中一个选项后 第二次数据丢失 淘汰码 window load function ko bindingHandlers select2 in
  • 使用 MySQL 在 Android 应用程序中存储和显示表情符号

    我有一个应用程序通过套接字与 NodeJS 服务器通信 该服务器通过 HTTP 与 PHP 通信 并且 PHP 正在使用 MySQL 当我尝试在文本字段中插入表情符号并将其保存到数据库时 当我取回它时 我看到 如果我从维基百科复制表情符号
  • 如何生成阳性预测值 (PPV) 与各种分类截止点的关系图?

    我生成了一些分数来帮助预测某些内容是 是 1 还是 否 0 假设数据包括 scores c 10 20 response c 0 0 1 0 1 0 1 1 0 1 1 mydata data frame scores response 我