【R语言】AUC值的检验(单样本t检验)

本文通过使用t.test函数,对比了模型的AUC值与六位医生诊断的AUC值的平均水平,旨在判断两者是否存在显著差异。代码示例展示了如何进行两样本t检验,为模型评估提供了统计学依据。
来源
  • 函数:t.test
目的
  • 判断模型的AUC值与多位医生的AUC值(平均水平)是否有显著差异
代码
auc_rads = c(0.750, 0.761, 0.854, 0.729, 0.834, 0.851) # 六位医生诊断的AUC值
auc_cnn = 0.884 # 模型的AUC值

t.test(auc_rads, alternative = "two.sided", mu=auc_cnn)

参考资料:

  1. https://www.jianshu.com/p/9606bb1d38c6
### R语言中实现Bootstrap检验的ROC曲线分析 为了在R语言中实现基于Bootstrap方法的ROC曲线分析,可以利用`pROC`包来计算ROC曲线以及`boot`包来进行Bootstrap抽样。通过这种方法能够评估模型性能并获得更稳健的结果。 #### 安装所需软件包 如果尚未安装这些必要的库,则可以通过下面的命令完成安装: ```r install.packages("pROC") install.packages("boot") ``` #### 加载所需的库 加载用于处理数据集和绘制图形的功能模块: ```r library(pROC) library(boot) ``` #### 准备模拟的数据集 创建一个简单的二分类问题作为例子,其中包含预测概率与实际标签: ```r set.seed(123) # 设置随机种子以便结果可重现 n <- runif(n, min = 0, max = 1) # 随机生成预测概率 labels <- as.factor(ifelse(predictions > median(predictions), "positive", "negative")) # 创建类别标签 data_frame <- data.frame(Predictions=predictions, Labels=labels) # 组织成DataFrame结构 ``` #### Bootstrap ROC 曲线函数定义 编写自定义函数以适应于`boot::boot()`函数的要求,在每次迭代过程中重新估计一次ROC曲线下面积(AUC),并将AUC存储起来供后续统计测试使用。 ```r bootstrap_roc_auc <- function(data, indices){ d <- data[indices, ] # 对原数据进行重采样 roc_obj <- roc(d$Labels ~ d$Predictions) # 计算当前样本下的ROC对象 auc_value <- auc(roc_obj) # 提取AUC return(auc_value) } ``` #### 执行Bootstrap过程 调用上述编写的辅助函数,并指定重复次数(例如1000次),从而得到一系列由不同子样本所对应的AUC测量分布情况。 ```r results <- boot(data=data_frame, statistic=bootstrap_roc_auc, R=1000L) print(results$t0) # 输出原始样本上的AUC hist(results$t, main="Histogram of Bootstrapped AUCs") # 展示直方图形式的结果可视化 summary(results) # 查看汇总统计数据 confint(results, type="perc", conf=0.95) # 获取置信区间 ``` 以上流程展示了如何结合`pROC`和`boot`这两个强大的工具箱,在R环境中高效地实施带有Bootstrap验证机制的ROC曲线分析工作流[^1][^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值