R语言画ROC曲线总结

简介: R语言画ROC曲线总结

在本文中,我描述了如何在CRAN中搜索用于绘制ROC曲线的包,并重点介绍了六个有用的包。

尽管我从一些我想谈论的软件包开始就有了一些想法,例如ROCR和pROC(我在过去发现它们很有用),但我还是决定使用 相对较新的软件包pkgsearch来搜索CRAN并查看其中的内容。该package_search()函数将文本字符串作为输入,并使用基本的文本挖掘技术来搜索所有CRAN。

library(tidyverse)  # for data manipulation
library(dlstats)    # for package download stats
library(pkgsearch)  # for searching packages

经过一番尝试和错误之后,我确定了以下查询,其中包括许多与ROC相关的有趣软件包。

rocPkg <-  pkg_search(query="ROC",size=200)



rocPkgShort <- rocPkg %>%
               filter(maintainer_name != "ORPHANED", score > 190) %>%
               select(score, package, downloads_last_month) %>%
               arrange(desc(downloads_last_month))
head(rocPkgShort)
 
## # A tibble: 6 x 3
##   score package  downloads_last_month
##   <dbl> <chr>                   <int>
## 1  690. ROCR                    56356
## 2 7938. pROC                    39584
## 3 1328. PRROC                    9058
## 4  833. sROC                     4236
## 5  266. hmeasure                 1946
## 6 1021. plotROC                  1672

为了完成选择过程,我做了艰苦的工作,浏览软件包的文档,以挑选出我认为通常对大多数数据科学家有用的内容。下图使用了Guangchuang Yu的dlstats软件包,查看我选择分析的六个软件包的下载历史记录。

shortList <- c("pROC","precrec","ROCit", "PRROC","ROCR","plotROC")
downloads <- cran_stats(shortList)
ggplot(downloads, aes(end, downloads, group=package, color=package)) +
  geom_line() + geom_point(aes(shape=package)) +
  scale_y_continuous(trans = 'log2')


2005年

 

以下代码ROCR使用包装随附的综合数据集设置并绘制默认的ROC曲线。在整个文章中,我将使用相同的数据集。

library(ROCR)
## Loading required package: gplots
##
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
##
##     lowess
# plot a ROC curve for a single prediction run
# and color the curve according to cutoff.
data(ROCR.simple)
df <- data.frame(ROCR.simple)
pred <- prediction(df$predictions, df$labels)
perf <- performance(pred,"tpr","fpr")
plot(perf,colorize=TRUE)
## Loading required package: gplots##
## Attaching package: 'gplots'## The following object is masked from 'package:stats':
##
##     lowess


2010

pROC也受到数据科学家的欢迎。我喜欢AUC在图中绘制曲线下面积的置信区间非常容易。


2014年

roc.curve()函数 会绘制出干净整齐的ROC曲线 。


2014年

该软件包提供了许多功能丰富的ggplot()几何图形 。


2015年

precrec 是另一个用于绘制ROC和精确调用曲线的库。

##
## Attaching package: 'precrec'## The following object is masked from 'package:pROC':
##
##     auc


evalmod()函数的参数选项使生成各种模型特征的基本图变得容易。


2019

ROCit是一个用于绘制ROC曲线和其他二进制分类可视化效果的新程序包 ,并且正在迅速普及。

## Warning: package 'ROCit' was built under R version 3.5.2


下图显示了正响应和负响应的累积密度。KS统计数据显示两条曲线之间的最大距离。

ksplot(ROCit_obj)



相关文章
|
6月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
2月前
|
机器学习/深度学习
R语言模型评估:深入理解混淆矩阵与ROC曲线
【9月更文挑战第2天】混淆矩阵和ROC曲线是评估分类模型性能的两种重要工具。混淆矩阵提供了模型在不同类别上的详细表现,而ROC曲线则通过综合考虑真正率和假正率来全面评估模型的分类能力。在R语言中,利用`caret`和`pROC`等包可以方便地实现这两种评估方法,从而帮助我们更好地理解和选择最适合当前任务的模型。
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为1
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
6月前
|
机器学习/深度学习 数据可视化 算法
数据分享|R语言SVM支持向量机用大学生行为数据对助学金精准资助预测ROC可视化
数据分享|R语言SVM支持向量机用大学生行为数据对助学金精准资助预测ROC可视化
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
|
6月前
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(下)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
6月前
|
算法
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线(上)
R语言非线性方程数值分析生物降解、植物生长数据:多项式、渐近回归、米氏方程、逻辑曲线、Gompertz、Weibull曲线
|
6月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索
R语言用逻辑回归预测BRFSS中风数据、方差分析anova、ROC曲线AUC、可视化探索
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
16天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
39 3
下一篇
无影云桌面