R语言CalibrationCurves包绘制带可信区间的校准曲线

2023-09-14 22:47:38

校准曲线图表示的是预测值和实际值的差距,作为预测模型的重要部分,目前很多函数能绘制校准曲线。 一般分为两种,一种是通过Hosmer-Lemeshow检验,把P值分为10等分,求出每等分的预测值和实际值的差距。一种是绘制连续的校准曲线。
在这里插入图片描述
在这里插入图片描述
我们既往已经通过多篇文章介绍了校准曲线绘制,连续的和等分的都有介绍,今天咱们来介绍一下CalibrationCurves包,看名字就知道它是个绘制校准曲线的R包,它的特点是可以绘制带可信区间的校准曲线,下面咱们来操作一下。

library(CalibrationCurves)
bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)

在这里插入图片描述
这是一个关于早产低体重儿的数据(公众号回复:早产数据,可以获得该数据),低于2500g被认为是低体重儿。数据解释如下:low 是否是小于2500g早产低体重儿,age 母亲的年龄,lwt 末次月经体重,race 种族,smoke 孕期抽烟,ptl 早产史(计数),ht 有高血压病史,ui 子宫过敏,ftv 早孕时看医生的次数,bwt 新生儿体重数值。 我们先把分类变量转成因子

bc$race<-ifelse(bc$race=="black",1,ifelse(bc$race=="white",2,3))
bc$smoke<-ifelse(bc$smoke=="nonsmoker",0,1)
bc$race<-factor(bc$race)
bc$ht<-factor(bc$ht)
bc$ui<-factor(bc$ui)

对数据进行比例划分

set.seed(123)
tr1<- sample(nrow(bc),0.6*nrow(bc))##随机无放抽取
bc_train <- bc[tr1,]#60%数据集
bc_test<- bc[-tr1,]#40%数据集

使用建模集数据来建立模型

fit<-glm(low ~ age + lwt + race + smoke + ptl + ht + ui + ftv,
         family = binomial("logit"),
         data = bc_train )

校准曲线主要比较的是预测值和实际值的关系,所以咱们要生成预测概率和实际值。咱们线生成预测值

pr1<- predict(fit,type = c("response"))

生成了预测概率外,咱们还要生成一个实际的结局Y值

yval<-bc_train$low

绘制校准曲线其实很简单,就一句话代码,前面填概率后面填结局

valProbggplot(pr1, yval)

在这里插入图片描述
在这里插入图片描述
还可以对图形进行修饰,包括颜色和线条的形状

valProbggplot(pr1, yval, CL.smooth = TRUE, logistic.cal = TRUE, lty.log = 2,
              col.log = "red", lwd.log = 1.5)

在这里插入图片描述

valProbggplot(pr1, yval, CL.smooth = TRUE, logistic.cal = TRUE, lty.log = 9,
              col.log = "red", lwd.log = 1.5, col.ideal = colors()[10], lwd.ideal = 0.5)

在这里插入图片描述

更多推荐

6.2 构建并评价聚类模型

6.2构建并评价聚类模型6.2.1使用sklearn估计器构建聚类模型1、聚类的概念2、常见聚类方法3、使用sklearn估计器构建聚类模型4、sklearn估计器代码:构建K-Means聚类模型6.2.2评价聚类模型1、FMI评价法2、轮廓系数评价法3、Calinski-Harabasz指数评价法6.2.1使用skl

Spring Security 源码详解

SpringSecurity源码详解这里主要介绍SpringSecurity的整体流程,方便以后查阅!!!一、SpringSecurity过滤器链加载1、注册springSecurityFilterChain过滤器当SpringBoot项目启动后,SecurityFilterAutoConfiguration类会加载D

[交互]AJAX

[交互]AJAX创建XMLHttpRequest发送请求服务器响应XMLHttpRequestreadyState状态值响应数据请求状态变更回调函数XMLHttpRequeststatus的值常用状态码设置AJAX是技术,不是工具,区别于axios、fetch、$.ajax等(封装工具)现有交互工具,是用于改变部分网页

最佳优先搜索简介

概念:最佳优先搜索算法(Best-FirstSearch)是一种启发式搜索算法,用于在图中找到从起点到目标节点的最佳路径。使用一个优先队列来存储待扩展的节点,优先队列根据节点的启发式评估函数值进行排序。在每次迭代中,算法选择队列中启发式评估函数值最小的节点进行扩展,直到找到目标节点或遍历完所有节点。最佳优先搜索算法用于

什么是智能推荐?智能推荐的原理是什么?

一、智能推荐的魔力2020年的愚人节晚间,罗永浩在抖音带货,相信你也被刷屏了吧。3小时的直播过程中,22款产品轮番出场,最终首播支付交易总额突破1.1亿、整场直播观看总人数超过4800万、总销售件数逾91万,粉丝打赏音浪收入3600万,由此看来,罗老师看起来离“带货一哥”的目标又进了一步。不得不说,这场魔幻版的流量狂潮

如何学习java

带着问题去学?为什么我们debug的时候代码会停在哪一个位置什么是多态?(这个在类的生命周期里面寻找答案)我们学习java就是从代码到成为程序的过程所以这很明显就是我们的编译原理和os打交道这很明白就是操作系统和另一台机器打交道,那么就是计算机网络java指令8个从代码到程序就是从代码到字节码(javap命令可以看到)

七、运算符

运算符1.运算符1.1.赋值运算符1.2.算数运算符1.3.自增和自减运算符1.4.比较运算符1.5.逻辑运算符1.6.位运算符1.6.1.按位与运算1.6.2.按位或运算1.6.3.按位取反运算1.6.4.按位异或运算1.6.5.移位操作1.6.6.复合赋值运算符1.6.7.三元运算符1.6.8.运算符优先级1.7.

Linear Feedback Shift Register

线性反馈移位寄存器(LinearFeedbackShiftRegister,简称LFSR)是一种数字电路设计和密码学中常用的寄存器类型。它是一种简单而高效的方式,用于生成伪随机的二进制序列,并在数据混淆、错误检测和加密等领域中有应用。LFSR通常用于流密码的生成。以下是LFSR的关键特性和组成部分:移位寄存器:LFSR

应用程序接口(API)安全的入门指南

本文简单回顾了API的发展历史,其基本概念、功能、相关协议、以及使用场景,重点讨论了与之相关的不同安全要素、威胁、认证方法、以及十二项优秀实践。根据有记录的历史,随着Salesforce的销售自动化解决方案的推出,首个WebAPI在1990年底出现了。在那个时候,它是一种每个人都可以访问到的开放资源。Salesforc

MySQL常用操作

目录1.安装MySQL/MariaDB2.用户管理2.1用户信息2.2用户权限privileges3.增删改查3.1增删数据库/表3.2查询参考1.安装MySQL/MariaDB#1)确认是否已安装mysqlrpm-qa|grepmysql#2)(如无)执行以下命令进行安装##方法一yuminstallmysql-y#

docker介绍及入门举例

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker的主要优点有:1.提供了一种在任何地方创建、运行和分发应用程序的方法,而不仅仅是在虚拟机

热文推荐