多指标联合诊断的ROC曲线
2023-03-07 09:12:33 时间
关于ROC曲线,前前后后写了很多篇推文,关于二分类数据和生存资料的都有,目前只有多指标联合诊断的ROC曲线还没介绍了,今天就介绍多指标联合诊断的ROC曲线。
- 多时间点和多指标的ROC曲线
- 临床预测模型之二分类资料ROC曲线的绘制
- 临床预测模型之生存资料ROC曲线的绘制
- ROC曲线(AUC)的显著性检验
- 生存资料ROC曲线的最佳截点和平滑曲线
- ROC曲线纯手工绘制
- R语言计算AUC(ROC曲线)的注意事项
- ROC阴性结果还是阳性结果
准备数据
library(pROC)
data(aSAH)
str(aSAH)
## 'data.frame': 113 obs. of 7 variables:
## $ gos6 : Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 5 5 5 5 1 1 4 1 5 4 ...
## $ outcome: Factor w/ 2 levels "Good","Poor": 1 1 1 1 2 2 1 2 1 1 ...
## $ gender : Factor w/ 2 levels "Male","Female": 2 2 2 2 2 1 1 1 2 2 ...
## $ age : int 42 37 42 27 42 48 57 41 49 75 ...
## $ wfns : Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 1 1 1 1 3 2 5 4 1 2 ...
## $ s100b : num 0.13 0.14 0.1 0.04 0.13 0.1 0.47 0.16 0.18 0.1 ...
## $ ndka : num 3.01 8.54 8.09 10.42 17.4 ...
其中outcome
是结果变量,是二分类的,其余列是预测变量。
多指标联合诊断的ROC
假如现在我想使用s100b/ndka/age
这3个变量来预测结果,该如何画出这3个变量联合诊断的ROC曲线呢?
首先,使用这3个变量建立逻辑回归:
f <- glm(outcome ~ s100b + ndka + age, data = aSAH, family = binomial())
然后,计算逻辑回归给出的概率:
# 等价于直接使用 f$fitted
pred <- predict(f, newdata = aSAH, type = "response")
aSAH$pred <- pred
用这个pred
就可以画ROC曲线了,这个就是多指标联合诊断的ROC曲线。
library(yardstick)
roc_curve(aSAH, truth = outcome, estimate=pred,event_level = "second") |>
autoplot()
测试集怎么办?
很简单,只要把predict
中的数据集换成测试集即可:
# 换成测试集即可
pred <- predict(f, newdata = 你的测试集, type = "response")
剩下的就都一样了!
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的