R语言实战 input+结果——ROC曲线的绘制 auc 时量下曲线面积
1.数据处理
第一步当然得处理一下数据。默认的Iris数据集有三类鸢尾花,我目前的理解是只有二分类才画的出ROC曲线,所以才去一定的手段处理一下数据:
输入
# 数据准备
iris2 <- iris
iris2$label[iris2$Species == 'setosa'] <- 1
iris2$label[iris2$Species == 'versicolor'] <- 2
iris2 <- iris2[-which(iris2$Species == 'virginica'), ] # 剔除类型为virginica的数据
iris2$Species <- NULL # 去除Species列
head(iris2,10) # 显示前10个数据
> head(iris2,10)Sepal.Length Sepal.Width Petal.Length Petal.Width label
1 5.1 3.5 1.4 0.2 1
2 4.9 3.0 1.4 0.2 1
3 4.7 3.2 1.3 0.2 1
4 4.6 3.1 1.5 0.2 1
5 5.0 3.6 1.4 0.2 1
6 5.4 3.9 1.7 0.4 1
7 4.6 3.4 1.4 0.3 1
8 5.0 3.4 1.5 0.2 1
9 4.4 2.9 1.4 0.2 1
10 4.9 3.1 1.5 0.1 1
2.参数设置
以label与Sepal.Length之间的ROC曲线为例:
auc1 <- roc(label~Sepal.Length, data=iris2, smooth=FALSE)
plot(auc1)
print.auc:在图中显示AUC的值,AUC的大小等于ROC曲线下方的面积大小;
plot(auc1, print.auc=TRUE)
print.thres:在图中显示ROC曲线的阈值(threshold),大概为ROC曲线中最尖的那个点;
plot(auc1, print.thres=TRUE)
print.thres.col:设置阈值数据的颜色。
plot(auc1, print.thres=TRUE, print.thres.col="blue")
col:设置ROC曲线的颜色。
plot(auc1,col="blue")
identity.col:设置对角线的颜色。
plot(auc1, identity.col="blue")
identity.lty:设置对角线的类型,取数字。
plot(auc1,identity.lty=2)
identity.lwd:设置对角线的线宽,默认宽度为1。
plot(auc1, identity.lwd=2)
auc1 <- roc(label~Sepal.Length, data=iris2, smooth=FALSE)
plot(auc1, print.auc=TRUE, print.thres=TRUE, main="多组ROC曲线比较",col="blue", print.thres.col="blue", identity.col="blue",identity.lty=2, identity.lwd=1)
.多变量ROC曲线比较
# ROC曲线的绘制
auc1 <- roc(label~Sepal.Length, data=iris2, smooth=FALSE)
plot(auc1, print.auc=TRUE, print.thres=TRUE, main="多组ROC曲线比较",col="blue", print.thres.col="blue", identity.col="blue",identity.lty=2, identity.lwd=1)
auc2 <- roc(label~Sepal.Width, data=iris2,smooth=FALSE)
auc3 <- roc(label~Petal.Length, data=iris2,smooth=FALSE)
auc4 <- roc(label~Petal.Width, data=iris2, smooth=FALSE)
lines(auc2, col="red")
lines(auc3,col="green")
lines(auc4,col="yellow")
————————————————
ROC检验——DeLong’s Test
输入
roc.test(auc1,auc2)
1
输出Bootstrap test for two correlated ROC curvesdata: auc1 and auc2
D = 0.19387, boot.n = 2000, boot.stratified = 1, p-value =
0.8463
alternative hypothesis: true difference in AUC is not equal to 0
sample estimates:
AUC of roc1 AUC of roc2 0.9326 0.9248
1
2
3
4
5
6
7
8
9
5.四组间整体检验
输入
compareROCdep(iris2[,-5], iris2$label, method="auc") ##四组间整体检验
1
输出
> compareROCdep(iris2[,-5], iris2$label, method="auc") ##四组间整体检验
In the considered database there are 50 controls and 50 cases.Method considered: AUC comparison (DeLong, DeLong and Clarke-Pearson, 1988)Progress bar: Estimation of statistic value in each variable (k = 4)|=======================================================================================================================================| 100%
Error in solve.default(M) : Lapack例行程序dgesv: 系统正好是奇异的: U[3,3] = 0
————————————————
版权声明:本文为CSDN博主「三只佩奇不结义」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41196612/article/details/105640904
R语言实战 input+结果——ROC曲线的绘制 auc 时量下曲线面积相关推荐
- R语言实战应用精讲50篇(三十四)-曲线分离实战应用案例(附R语言代码)
1 引言 在现实环境中,我们有许多时间序列数据,比如超市零售数据,可能同时包括成千上万种商品的销量历史数据.不同商品销量随时间会有不同的变化.如果需要对销量进行预测,首先就应该根据趋势,对商品进行 ...
- R 语言实战-Part 4 笔记
R 语言实战(第二版) ## part 4 高级方法 -------------第13章 广义线性模型------------------ #前面分析了线性模型中的回归和方差分析,前提都是假设因变量服 ...
- R语言临床诊断试验的ROC分析方法示例
R语言临床诊断试验的ROC分析方法示例 ROC(receiver operating characteristic curve)接收者操作特征曲线,是由二战中的电子工程师和雷达工程师发明用来侦测战场上 ...
- R语言实战笔记--第八章 OLS回归分析
R语言实战笔记–第八章 OLS回归分析 标签(空格分隔): R语言 回归分析 首先,是之前的文章,数理统计里面的简单回归分析,这里简单回顾一下: 简单回归分析的原理:最小二乘法,即使回归函数与实际值之 ...
- R语言ggplot2可视化在图像边界内绘制geom_text文本标签实战
R语言ggplot2可视化在图像边界内绘制geom_text文本标签实战 目录 R语言ggplot2可视化在图像边界内绘制geom_text文本标签实战 #geom_text文本标签1
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战
R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置 ...
- R语言使用ggplot2包使用geom_density()函数绘制密度图(连续色彩、离散色彩、梯度色彩)实战(density plot)
R语言使用ggplot2包使用geom_density()函数绘制密度图(连续色彩.离散色彩.梯度色彩)实战(density plot) 目录 R语言使用ggplot2包使用geom_density( ...
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色自定义配置)实战
R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色自定义配置)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框 ...
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战
R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战
最新文章
- 离散型随机变量的分布律
- 打造一个宇宙 星系模拟产生对宇宙进化惊人见解
- 连接池技术 Connection Pooling
- 软件工程--团队作业4
- BZOJ 1009: [HNOI2008]GT考试(kmp+dp+矩阵优化)
- logistic回归 简介_金融专业进!逻辑回归模型简述
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin
- MFC单文档框架编程(三): CTabView的使用
- 修改eclipse中java和xml页面的字体的样式
- 听说你还不会写观察者模式?
- 2013蓝桥杯C++B:翻硬币(找规律和getline())
- android 打开下载管理器,Android OkHttp 下载管理器
- java编程求原码,补码_java语言基础(原码反码补码)
- linux建立数据库及构建表
- DirectX11--实现一个3D魔方(1)
- scrapy如何获取network请求相关信息
- e3服务器性能怎么样,3.5GHz发飙 至强E3-1280处理器深度评测
- BSA分析拟南芥F2代分离群体混池测序
- Plant Simulation、NX MCD、PDPS,SIMIT,PLCSIM仿真与虚拟调试合集(持续更新中)
- 【无标题】MATLAB Runtime 安装The file is not a valid MATLAB Runtime installer for this version of MATLAB