zoukankan      html  css  js  c++  java
  • R语言画ROC曲线总结

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

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

    尽管我从一些我想谈论的软件包开始就有了一些想法,例如ROCRpROC(我在过去发现它们很有用),但我还是决定使用 相对较新的软件包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软件包,查看我选择分析的六个软件包的下载历史记录。

    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
    # 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)
    

    如果您有任何疑问,请在下面发表评论。 

  • 相关阅读:
    在Linux下删除文件及文件夹(rm)
    修改Linux文件权限
    文件分页显示(ls -al |more)
    linux的文件权限
    Linux中的重启(reboot)
    linux关机前同步数据(sync)
    hdu4990 Reading comprehension 矩阵快速幂
    hdu4965 Fast Matrix Calculation 矩阵快速幂
    hdu4847 Wow! Such Doge! KMP
    hdu4705 Y 树形DP
  • 原文地址:https://www.cnblogs.com/tecdat/p/12327305.html
Copyright © 2011-2022 走看看