R语言使用 ggscidca包优雅的绘制支持向量机决策曲线

DCA(Decision Curve Analysis)临床决策曲线是一种用于评价诊断模型诊断准确性的方法,在2006年由AndrewVickers博士创建,我们通常判断一个疾病喜欢使用ROC曲线的AUC值来判定模型的准确性,但ROC曲线通常是通过特异度和敏感度来评价,实际临床中我们还应该考虑,假阳性和假阴性对病人带来的影响,因此在DCA曲线中引入了阈概率和净获益的概念。

在这里插入图片描述
在新版的ggscidca包中,已经可以支持绘制支持向量机的决策曲线了,目前暂时支持kernlab包生成的支持向量机。e1071包的也是支持的,不过最新版本还没上传,下周上传后也是支持的。咱们使用下面代码安装ggscidca包,安装了旧版本的在安装一次就可以更新到新版本。

install.packages("ggscidca")

下面我来演示一下怎么使用ggscidca包进行支持向量机决策曲线绘制,先导入R包和数据

library("kernlab")
library(ggscidca)
bc<-read.csv("E:/r/test/demo.csv",sep=',',header=TRUE)
bc <- na.omit(bc)
names(bc)

做支持向量机最好不要有缺失值,不然容易有各种各样的问题

在这里插入图片描述
数据变量很多,我解释几个我等下要用的,HBP:是否发生高血压,结局指标,AGE:年龄,是我们的协变量,BMI肥胖指数,FEV1肺活量指标,WEIGHT体重,“SBP”,“DBP”:收缩压和舒张压。公众号回复:体检数据,可以获得数据。
有些变量用不到,我先精简一下,把结局变量变成因子,这个很重要。

bc<-bc[,c("HBP","BMI","AGE","FEV1","WEIGHT","SBP","DBP")]
bc$HBP<-as.factor(bc$HBP)

在这里插入图片描述
进行分析前还需对数据进行预处理,如果你是多分类的,并且数据差异大,可以使用分层抽样,尽量是数据匹配一下,方法详见我既往文章《R语言两种方法实现随机分层抽样》,我这里是二分类,我就不弄了。
接下来就是对数据进行标准化,这样可以消除数据见的差异。
定义一个标准化的小程序

f1<-function(x){return((x-min(x)) / (max(x)-min(x)))
}

接下进行标准化,标准化不要放入结局变量

bc.scale<-as.data.frame(lapply(bc[2:7],f1))

把结局变量加入表转化后数据中,得到新的数据

bc.scale<-cbind(HBP=bc$HBP,bc.scale)

弄好数据之后咱们就可以进行分析了,先把数据分为建模组和验证组

#分成建模和验证组
set.seed(12345)
tr1<- sample(nrow(bc.scale),0.7*nrow(bc.scale))##随机无放抽取
bc_train <- bc.scale[tr1,]#70%数据集
bc_test<- bc.scale[-tr1,]#30%数据集

生成模型,要是调参的话也是在这一步进行,这里注意一下,参数prob.model=TRUE这个一定要有,不然没法做

fit <- ksvm(HBP~.,data=bc_train,type="C-bsvc",kernel="rbfdot",C=10,prob.model=TRUE)

生成决策曲线,其实很简单就是一句话代码

scidca(fit,newdata =bc_train,legend.position=c(0.65,0.70))

在这里插入图片描述
验证集的决策曲线,改个数据就行

scidca(fit,newdata =bc_test,legend.position=c(0.65,0.70))

在这里插入图片描述
加上阈值

scidca(fit,newdata =bc_train,legend.position=c(0.65,0.70),threshold.line = T,threshold.text = T)

在这里插入图片描述
来个普通决策曲线也是可以的

scidca(fit,newdata =bc_train,legend.position=c(0.65,0.70),colbar = F)

在这里插入图片描述
普通的决策曲线也是可以加阈值的

scidca(fit,newdata =bc_train,legend.position=c(0.65,0.70),colbar = F,threshold.text = T)

在这里插入图片描述
还有很多细节调整,这里就不介绍了,可以看我既往文章。
最后向大家汇报一下,多模型的决策曲线和混合模型的决策曲线已经写好,下周上传,到时我再出个视频介绍一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue项目报错:internal/modules/cjs/loader.js:892 throw err;

前言&#xff1a; vue项目中无法正常使用git&#xff0c;并报错情况。 报错信息&#xff1a; internal/modules/cjs/loader.js:892throw err;^ Error: Cannot find module D:\project\sd_wh_yth_front\node_modules\yorkie\src\runner.js 报错处理&#xff1a; npm install y…

夏天晚上热,早上凉怎么办?

温差太大容易引起感冒 1.定个大概3点的闹钟&#xff0c;起来盖被子。有些土豪可以开空调&#xff0c;我这个咸鱼没有空调。 2.空调调到合适的温度&#xff0c;比如20几度。

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十一)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 18 节&#xff09; P18《17.ArkUI-状态管理Observed 和 ObjectLink》 第一件事&#xff1a;嵌套对象的类型上加上 Observed 装饰器…

基于网络爬虫技术的网络新闻分析(四)

目录 4.2 系统异常处理 4.2.1 爬虫异常总体概况 4.2.2 爬虫访问网页被拒绝 5 软件测试 5.1 白盒测试 5.1.1 爬虫系统测试结果 5.1.2 中文分词系统测试结果 5.1.3 中文文章相似度匹配系统测试结果 5.1.4 相似新闻趋势展示系统测试结果 5.2 黑盒测试 5.2.1 爬虫系统测…

2024电工杯数学建模 - 案例:最短时间生产计划安排

# 前言 2024电工杯(中国电机工程学会杯)数学建模思路解析 最新思路更新(看最新发布的文章即可): https://blog.csdn.net/dc_sinor/article/details/138726153 最短时间生产计划模型 该模型出现在好几个竞赛赛题上&#xff0c;预测2022今年国赛也会与该模型相关。 1 模型描…

CoShNet:使用复数改进神经网络

使用复数改进神经网络 文章目录 一、说明二、了解卷积神经网络三、进入混合神经网络四、令人惊叹的 CoSh 网络五、复杂函数的神奇性质六、相位一致性七、结论 一、说明 本文题为“CoShNet&#xff1a;使用Shearlets的混合复杂值神经网络”&#xff0c;提出了在混合神经网络中使…

深入理解SVM和浅层机器学习算法的训练机制

深入理解SVM和浅层机器学习算法的训练机制支持向量机&#xff08;SVM&#xff09;的训练过程SVM的基本概念SVM的损失函数训练方法 浅层机器学习算法的训练机制决策树K-最近邻&#xff08;K-NN&#xff09;朴素贝叶斯 结论 深入理解SVM和浅层机器学习算法的训练机制 在探讨浅层…

展现金融科技前沿力量,ATFX于哥伦比亚金融博览会绽放光彩

不到半个月的时间里&#xff0c;高光时刻再度降临ATFX。而这一次&#xff0c;是ATFX不曾拥有的桂冠—“全球最佳在线经纪商”(Best Global Online Broker)。2024年5月15日至16日&#xff0c;拉丁美洲首屈一指的金融盛会—2024年哥伦比亚金融博览会(Money Expo Colombia 2024) 于…

AI智能体|使用扣子Coze基于IDE创建自定义插件

大家好&#xff0c;我是无界生长。 在使用Coze的过程中&#xff0c;有些个性化场景无法通过插件商店已有的插件满足&#xff0c;这个时候就需要通过自定义插件的方式来实现业务需求。下面将通过一个实际案例来简单介绍下如何使用Coze基于IDE创建自定义插件&#xff0c;完成在Co…

2024最新流媒体在线音乐系统网站源码| 音乐社区 | 多语言 | 开心版

简介&#xff1a; 2024最新流媒体在线音乐系统网站源码| 音乐社区 | 多语言 | 开心版 下载地址 https://www.kuaiyuanya.com/product/article/index/id/33.html 图片&#xff1a;

使用 Django Rest Framework 构建强大的 Web API

文章目录 安装 Django Rest Framework创建序列化器创建视图和 URL 路由配置认证和权限测试 API Django Rest Framework&#xff08;DRF&#xff09;是一个强大的工具&#xff0c;用于在 Django Web 框架中构建灵活且功能丰富的 Web API。它提供了许多功能&#xff0c;包括序列化…

(六)DockerCompose安装与配置

DockerCompose简介 Compose 项目是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排。使用前面介绍的Dockerfile我们很容易定义一个单独的应用容器。然而在日常开发工作中&#xff0c;经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现…

protobuf学习

学习了下protobuf这个工具&#xff0c;可以用来序列化数据结构&#xff0c;而且效率很高&#xff0c;数据可以压缩的更小。 记录下&#xff0c;我这里主要在C#里使用&#xff0c;从NuGet程序包安装以下两个 安装好后可以在该程序目录找到 packages\Google.Protobuf.Tools.3.26.…

在windows中使用wsl下的unbuntu环境

1 unbuntu下载编译环境 编译环境安装命令&#xff1a; sudo apt install gdb sudo apt install gcc sudo apt install g 2 使用vscode正常打开项目&#xff0c;在window中打开的项目&#xff08;官方推荐将项目放在linux中的home目录&#xff09; 但在windows中也可以使用&a…

汐鹤Key码查询,网站授权系统源码

汐鹤Key码查询和网站授权系统源码主要用于特殊虚拟物品销售商家。 下 载 地 址 &#xff1a; runruncode.com/php/19770.html 附带插件功能&#xff08;网站授权&#xff09;&#xff0c;但目前开发内容较少&#xff0c;请谅解&#xff01;同时&#xff0c;代码优化空间很大…

【软考】设计模式之装饰器模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点7. 缺点8. java示例 1. 说明 1.动态地给一个对象添加一些额外的职责。2.Decorator Pattern。3.就增加功能而言&#xff0c;装饰器模式比生成子类更加灵活。4.一种在不改变现有对象结构的情况下&#xff0c;动态地给对…

垃圾溢满堆放识别检测

垃圾溢满堆放识别检测系统的核心技术是基于YOLO深度学习模型&#xff0c;垃圾溢满堆放识别检测系统能够在监控画面中快速识别出垃圾箱外部的垃圾堆放情况。系统经过大量的训练和优化&#xff0c;能够识别出各种垃圾的特征&#xff0c;并能够准确判断是否溢满堆放。垃圾溢满堆放…

鸿蒙OS开发:【一次开发,多端部署】(多设备自适应能力)实例

多设备自适应能力 介绍 此Demo展示在JS中的多设备自适应能力&#xff0c;包括资源限定词、原子布局和响应式布局。 效果预览 使用说明 1.本示例中的资源限定词和响应式布局针对常见设备类型做了适配&#xff0c;可以在预览器中开启"Multi-profile preview"进行多…

【Day7:JAVA面向对象的初级使用】

目录 1、类和对象1.1 类的介绍1.2 类和对象的关系1.3 类的组成 2、对象内存图2.1 单个对象内存图2.2 两个对象内存图2.3 两个引用指向相同内存图 3、成员变量和局部变量3.1 成员变量和局部变量的区别 4、this关键字4.1 this可以解决的问题4.2 this介绍4.3 this内存图4.4 this总…

浏览器输入URL到网页显示之间发生了什么

记&#xff1a; DNS(Domain Name System,域名系统)就是根据域名来查找对应的IP地址的一个关键系统。 域名层级关系&#xff1a; 根域名服务器&#xff08;.&#xff09;顶级域名服务器&#xff08;.com&#xff09;权威域名服务器&#xff08;server.com&#xff09; 首先浏…