前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言画ROC曲线总结

R语言画ROC曲线总结

原创
作者头像
拓端
修改2020-08-14 17:41:44
1.2K0
修改2020-08-14 17:41:44
举报
文章被收录于专栏:拓端tecdat

原文链接:http://tecdat.cn/?p=10963

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

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

代码语言:javascript
复制
library(tidyverse)  # for data manipulationlibrary(dlstats)    # for package download statslibrary(pkgsearch)  # for searching packages

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

代码语言:javascript
复制
rocPkg <-  pkg_search(query="ROC",size=200)
代码语言:javascript
复制
rocPkgShort <- rocPkg %>%                filter(maintainer_name != "ORPHANED", score > 190) %>%               select(score, package, downloads_last_month) %>%               arrange(desc(downloads_last_month))head(rocPkgShort)
代码语言:javascript
复制
## # 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软件包,查看我选择分析的六个软件包的下载历史记录。

代码语言:javascript
复制
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曲线。在整个文章中,我将使用相同的数据集。

代码语言:javascript
复制
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)
代码语言:javascript
复制
## Loading required package: gplots
代码语言:javascript
复制
## ## Attaching package: 'gplots'
代码语言:javascript
复制
## The following object is masked from 'package:stats':## ##     lowess

2010

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

2014年

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

2014年

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

 2015年

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

代码语言:javascript
复制
## ## Attaching package: 'precrec'
代码语言:javascript
复制
## The following object is masked from 'package:pROC':## ##     auc

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

2019

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

代码语言:javascript
复制
## Warning: package 'ROCit' was built under R version 3.5.2

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

代码语言:javascript
复制
ksplot(ROCit_obj)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2005年
  • 2010
  • 2014年
  • 2014年
  •  2015年
  • 2019
相关产品与服务
文字识别
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档