【问题标题】:What are the algorithms used in the pROC package for ROC analysis?pROC 包中用于 ROC 分析的算法是什么?
【发布时间】:2019-08-23 14:39:14
【问题描述】:

我试图弄清楚 pROC 包中使用了哪些算法来进行 ROC 分析。例如,什么算法对应于条件“算法==2”?我最近才开始将 R 与 Python 结合使用,因为可以轻松找到 CI 估计、显着性测试结果等。我的 Python 代码使用线性判别分析来获得二进制分类问题的结果。当使用 pROC 包计算 AUC、敏感性、特异性等的置信区间估计时,我所要做的就是加载我的数据并运行包。我在使用 pROC 时得到的 AUC 与我使用线性判别分析 (LDA) 的 Python 代码返回的 AUC 相同。为了能够报告一致的结果,我试图找出 LDA 是否是 pROC 中的算法选择之一?关于这个或如何解决这个问题的任何想法都会非常有帮助。我在哪里可以访问 pROC 的源代码?

【问题讨论】:

    标签: proc-r-package


    【解决方案1】:

    2011 BMC Bioinformatics paper 中描述了 pROC 的核心算法。稍后添加的一些算法在@​​987654322@ 中进行了描述。与每个 CRAN 软件包一样,源代码可从 CRAN package page 获得。现在有很多 R 包,它是 also on GitHub

    为了具体回答您的问题,不幸的是,我没有很好的参考算法来计算algorithm 2 的 ROC 曲线点。通过查看它,您会发现它最终等同于标准 ROC曲线算法,尽管当阈值数量增加时效率更高,如I tried to explain in this answer to a question on Cross Validated。但你必须相信我(以及大多数计算 ROC 曲线的软件包)。

    您使用哪种二元分类器,无论是 LDA 还是其他,都与 ROC 分析无关,并且超出了 pROC 的范围。 ROC 分析是评估来自二元分类器的预测、分数或更一般地信号的通用方法。它不评估二元分类器本身或信号检测器,只评估信号本身。这使得比较不同的分类方法变得非常容易,并且有助于 ROC 分析的成功。

    【讨论】:

      猜你喜欢
      • 2013-12-29
      • 2019-04-03
      • 2020-09-11
      • 2015-03-21
      • 2012-05-11
      • 1970-01-01
      • 2012-06-21
      • 2015-05-23
      • 2015-10-23
      相关资源
      最近更新 更多