网站建设公司谁家好,网站开发工期安排表,哪位大神推荐一下好网站,域名大全原标题#xff1a;画ROC曲线的R包总结作者#xff1a; Joseph Rickert原文链接#xff1a;https://rviews.rstudio.com/2019/03/01/some-r-packages-for-roc-curves/在这篇文章中#xff0c;我将描述如何在CRAN中搜索绘制ROC曲线的包#xff0c;并强调六个有用的包。虽然一…原标题画ROC曲线的R包总结作者 Joseph Rickert原文链接https://rviews.rstudio.com/2019/03/01/some-r-packages-for-roc-curves/在这篇文章中我将描述如何在CRAN中搜索绘制ROC曲线的包并强调六个有用的包。虽然一开始我有一些想谈论的包的想法像ROCR和pROC我发现它们在过去是有用的但我决定使用Gabor Csardi相对较新的包pkgsearch来搜索CRAN看看那里有什么。package_search()函数的作用是:将文本字符串作为输入并使用基本的文本挖掘技术搜索所有CRAN。该算法搜索包文本字段并为它找到的每个包生成一个分数该分数由反向依赖项和下载的数量加权。1library(tidyverse) # for data manipulation2library(dlstats) # for package download stats3library(pkgsearch) # for searching packages经过一些尝试和错误之后我决定使用以下查询其中包括一些有趣的与roc相关的包。1rocPkg 2然后通过过滤掉孤立包和得分不超过190的包我将rocPkg缩小到46个包。1rocPkgShort%2filter(maintainer_name ! ORPHANED, score 190) %%3select(score, package, downloads_last_month) %%4arrange(desc(downloads_last_month))5head(rocPkgShort)为了完成选择过程我做了大量的工作浏览了软件包的文档从中挑选出我认为对大多数数据科学家通常有用的东西。下面的图使用Guangchuang Yu的dlstats包查看我选择配置的六个包的下载历史。1library(dlstats)2shortList 3downloads 4ggplot(downloads, aes(end, downloads, grouppackage, colorpackage)) 5geom_line() geom_point(aes(shapepackage)) 6scale_y_continuous(trans log2)ROCR - 2005ROCR已经存在了近14年是绘制ROC曲线的一个坚如磐石的工具。我特别喜欢performance()函数通过输入真阳性率tpr和假阳性率fpr和参数来设置曲线的计算方法。这不仅具有令人放心的透明性还显示了通过输入适当的参数来计算二进制分类器的几乎所有性能度量的灵活性。例如要生成precision-recall曲线您需要输入prec和rec。虽然没有vignette但包的文档非常好。下面的代码使用包附带的合成数据集并绘制默认的ROCR ROC曲线。在本文中我将使用相同的数据集。1library(ROCR)2## Loading required package: gplots3##4## Attaching package: gplots5## The following object is masked from package:stats:6##7## lowess8# plot a ROC curve for a single prediction run9# and color the curve according to cutoff.10data(ROCR.simple)11df 12pred 13perf 14plot(perf,colorizeTRUE)pROC - 2010从下载曲线可以明显看出pROC也很受数据科学家的欢迎。我喜欢它是因为很容易得到AUC的置信区间。1library(pROC)2## Type citation(pROC) for a citation.3##4## Attaching package: pROC5## The following objects are masked from package:stats:6##7## cov, smooth, var8pROC_obj 9smoothed TRUE,10# arguments for ci11ciTRUE, ci.alpha0.9, stratifiedFALSE,12# arguments for plot13plotTRUE, auc.polygonTRUE, max.auc.polygonTRUE, gridTRUE,14print.aucTRUE, show.thresTRUE)151617sens.ci 18plot(sens.ci, typeshape, collightblue)19## Warning in plot.ci.se(sens.ci, type shape, col lightblue): Low20## definition shape.21plot(sens.ci, typebars)PRROC - 2014虽然不像ROCR和pROC那么受欢迎但PRROC最近似乎又卷土重来了。输入的术语有点折衷但是一旦您理解了ROC.curve()函数就可以轻松地绘制出一条干净的ROC曲线。正如vignette所指示PRROC的创建实际上是为了做precision-recall曲线。1library(PRROC)23PRROC_obj 4curveTRUE)5plot(PRROC_obj)plotROC - 2014plotROC是使用ggplot()绘制ROC曲线的理想选择。我的猜测是它似乎只受到有限的欢迎因为文档使用了医学术语如“疾病状态”和“标记”。尽管如此文档(包括a vignette and a Shiny application)非常好。该包提供了许多功能丰富的ggplot()几何可以生成复杂的图形。下面的图包含一些样式包括Clopper和Pearson(1934)精确的方法置信区间。1library(plotROC)2rocplot 3rocplot style_roc(theme theme_grey) geom_rocci(fillpink)4precrec - 2015precrec是另一个绘制ROC和precision-recall曲线的库。1library(precrec)2##3## Attaching package: precrec4## The following object is masked from package:pROC:5##6## auc7precrec_obj 8autoplot(precrec_obj)evalmod()函数的参数选项使生成各种模型特性的基本图变得很容易。1precrec_obj22autoplot(precrec_obj2)ROCit - 2019ROCit是一种用于绘制ROC曲线和其他二元分类可视化的新工具它在1月份迅速蹿红并继续流行。如果我通过下载自动过滤原始搜索就永远不会发现它。默认的图包括Yourden’s J Statistic数据的位置。1library(ROCit)2## Warning: packageROCitwas built under R version 3.5.23ROCit_obj 4plot(ROCit_obj)其他一些可视化是可能的。下图显示了正面和负面反应的累积密度。KS统计量显示了两条曲线之间的最大距离。1ksplot(ROCit_obj)在本文中我试图深入研究CRAN并揭示R所包含的用于绘制ROC曲线和其他二进制分类器可视化的一些资源但我只触及了皮毛。此外我故意忽略了许多用于特殊应用程序的包例如从审查生存数据计算时间相关的ROC曲线的survivalROC以及包含评估交叉验证的AUC措施的功能的cvAUC。不过我希望这个小练习能帮助您找到您要找的东西。返回搜狐查看更多责任编辑