R语言画ROC曲线总结

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

由Kaizong Ye,Coin Ge撰写

我使用pkgsearch来搜索CRAN并查看其中的内容。该package_search()函数将文本字符串作为输入,并使用基本的文本挖掘技术来搜索所有CRAN。 

经过一番尝试和错误之后,我确定了以下查询,其中包括许多与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软件包,查看我选择分析的六个软件包的下载历史记录。


课程

R语言数据分析挖掘必知必会

从数据获取和清理开始,有目的的进行探索性分析与可视化。让数据从生涩的资料,摇身成为有温度的故事。

立即参加

下图使用了Guangchuang Yu的dlstats软件包,查看我选择分析的六个软件包的下载历史记录。

library(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
 
# 为单个预测绘制ROC曲线,并对曲线进行着色。
 
 
data(ROCR.simple)
df <- data.frame(ROCR.simple)
pred <- prediction(df$predictions, df$labels)
perf <- performance(pred,"tpr","fpr")
plot(perf,colorize=TRUE)




2010

 pROC在图中绘制曲线下面积(AUC)的置信区间非常容易。

2014年

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

2014年

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

 2015年

precrec 是另一个用于绘制ROC的库。

evalmod()函数可以很容易地生成各种模型特征的基本图。

2019

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

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

ksplot(ROCit_obj)

可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds