pROC 软件包中使用哪些算法进行 ROC 分析?



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

pROC 的核心算法在 2011 年 BMC 生物信息学论文中进行了描述。稍后添加的一些算法在 PDF 手册中进行了描述。与每个 CRAN 软件包一样,源代码可从 CRAN 软件包页面获得。如今,许多R包也在GitHub上。

为了具体回答您的问题,不幸的是,我没有一个很好的参考算法来计算 ROC 曲线的点algorithm2。通过查看它,您将意识到它最终等效于标准 ROC 曲线算法,尽管当阈值数量增加时更有效,正如我试图在交叉验证问题的回答中解释的那样。但是你必须相信我(以及大多数计算 ROC 曲线的软件包)。

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

最新更新