在生物医学和生物信息学领域,PRC 和 AUPRC 有着非常广泛的应用。然而,常用的计算工具本身存在的问题可能会被研究人员忽略,从而可能导致对结果解读的偏差。2024 年 5 月,香港中文大学曹沁研究助理教授与徐国荣教授、美国SBP研究所Kevin Yip教授在 Genome Biology 上发表了一篇题为《Commonly used software tools produce conflicting and overly-optimistic AUPRC values》的文章,比较了常用软件工具在基因组学研究中的计算结果,发现产生的 AUPRC 值之间存在冲突和过度乐观的情况。研究人员在使用这些工具评估和解释基因组学研究结果时,需要谨慎,避免可能的误导性结果和偏见。
摘要
文章讨论了精确率-召回率曲线(Precision-Recall Curve, PRC)和曲线下面积(Area Under the Precision-Recall Curve, AUPRC)这两个在分类性能评估中非常有用的指标。它们特别适用于处理类别不平衡的情况,比如癌症诊断和细胞类型注释。作者评估了 10 个流行的绘图 PRC 和计算 AUPRC 的工具,这些工具在超过3000项已发表的研究中被集体使用。研究发现,这些工具计算出的 AUPRC 值对分类器的排名不同,并且有些工具产生了过于乐观的结果。
引言
在计算生物学中,许多问题可以被表述为二元分类问题,目标是推断一个实体(例如,一个细胞)是否属于目标类别(例如,一种细胞类型)。准确率、精确率、敏感性(即召回率)、特异性和F1分数是一些常用的量化分类性能的指标,但它们都需要一个分类得分的阈值来将每个实体分配到目标类别或非目标类别。接收者操作特征(ROC)和PRC通过考虑多个阈值来避免这个问题,允许详细检查识别目标类别实体和错误包含非此类别的实体之间的权衡。通常通过曲线下的面积(AUROC 和 AUPRC)来概括这些曲线,值在 0 到 1 之间,较大的值对应更好的分类性能。当不同类别的大小不平衡时(例如,目标细胞类型只有少数细胞),AUPRC 是比 AUROC 更敏感的指标,尤其是在顶部预测中存在错误时。因此,AUPRC 已在多种应用中被使用,例如重建生物网络、识别癌症基因和必需基因、确定蛋白质结合位点、插补稀疏实验数据和预测患者治疗反应等。AUPRC 也被广泛用作基准测试的性能指标。
方法
- 工具信息:研究查找了 12 个常用于 PRC 和 ROC 分析的工具,并分析了截至 2023 年 8 月 15 日的最新稳定版本。这些工具中,其中 10 个 可以同时计算 AUROC 和 AUPRC,研究只关注这 10 个工具:
- ROCR: R 语言的一个包,用于生成 ROC 曲线和 PRC。
- Weka: 一个广泛使用的机器学习工具,含有多种分类器和可视化工具。
- scikit-learn: Python的一个机器学习库,提供 PRC 和 AUPRC 的计算方法。
- PerfMeas: R 语言的一个包,专门用于性能评估。
- PRROC: R 语言的一个包,用于计算和可视化 PRC 和 ROC 曲线。
- TensorFlow: 一个开源的机器学习平台,支持多种语言的 API。
- precrec: R 语言的一个包,用于快速准确地计算 PRC 和 ROC 曲线。
- TorchEval: PyTorch 的一个评估模块,用于计算 AUPRC。
- MLeval: R 语言的一个包,用于机器学习模型的评估。
- yardstick: R 语言的一个包,提供模型性能的 tidy 评估。
- 数据收集和处理:作者使用四个现实场景来说明 AUPRC 计算的问题,并详细描述了数据的获取和处理方法。
结果
- 基础:分类器为每个实体输出一个得分,表明它属于目标(即“正”)类别的可能性。根据分类器的不同,得分可以是离散的(例如,随机森林)或连续的(例如,人工神经网络)。使用阈值 t,分类得分可以转换为二元预测,将所有得分 ≥ t 的实体视为属于正类别,其他实体视为不属于。将这些预测与实体的实际类别进行比较时,精确率定义为被预测为正的实体中实际为正的比例,而召回率定义为实际为正的实体中被预测为正的比例。
- 不同工具的概念和实现问题:作者分析了 10 个常用工具,这些工具在处理 AUPRC 值时存在五个概念问题,包括使用线性插值处理并列问题、始终使用 (0,1) 作为 PRC 的起始点、不生成覆盖从零到全部召回值的完整 PRC、按输入顺序对具有相同分类得分的实体进行排序然后像它们具有不同的分类得分一样处理它们、以及不是将所有锚点放在 PRC 上。
- 工具产生的 AUPRC 值的不一致性和对比鲜明的分类器排名:作者将这些工具应用于四个现实场景中的分类器评估,并发现不同的工具和它们的问题影响了PRC分析的实践。例如,在 COVID-19 研究数据的分析中,10 个工具产生了6个不同的 AUPRC 值,范围从 0.416 到 0.684。在使用这些工具评估不同分类器预测溃疡性结肠炎(UC)亚型炎症性肠病(IBD)的性能时,基于 AUPRC 值,10 个工具对分类器的排名不同。
结论
由于 PRC和 AUPRC 的计算复杂性,人们很容易忽视用于生成 PRC 和 AUPRC 的软件工具的不一致性和问题。一些可能的后果包括报告过于乐观的 AUPRC、不同工具对分类器的不同排名,以及向评估过程引入偏见,例如提高产生离散分数的分类器的 AUPRC。为了解决这些问题,至关重要的是要使用没有描述中的错误的工具,并避免使用线性插值方法。还有必要在手稿中清楚地说明所使用的工具(及其版本号)以及工具实现用于生成 PRC 和 AUPRC 的底层方法。在可行的情况下,建议采用实现不同方法的多个工具(例如,一个基于连续期望,一个基于 AP),并全面报告它们所有的结果。
文章链接
https://doi.org/10.1186/s13059-024-03266-y