Precision-Recall 曲线中的阈值是什么?

What is a threshold in a Precision-Recall curve?

我知道 Precision 的概念以及 Recall 的概念。但是我发现很难理解使任何 P-R 曲线成为可能的 'threshold' 的想法。

想象一下,我要构建一个模型,该模型使用一些对相关特征的合适的分类算法来预测患者癌症的再次发生(是或否)。我拆分了我的数据以进行训练和测试。假设我使用训练数据训练了模型,并使用测试数据获得了我的精度和召回率指标。

但是现在怎么画P-R曲线呢?依据是什么?我只有两个值,一个精确度和一个召回率。我读到它的 'Threshold' 允许您获得多个精确召回对。但这个门槛是多少?我还是个初学者,我无法理解阈值的概念。

我在很多分类模型比较中看到如下所示。但是他们是如何得到这么多对的呢?

Model Comparison Using Precision-Recall Curve

ROC Curves:

  • x-axis: False Positive Rate FPR = FP /(FP + TN) = FP / N
  • y-axis: True Positive Rate TPR = Recall = TP /(TP + FN) = TP / P

Precision-Recall Curves:

  • x-axis: Recall = TP / (TP + FN) = TP / P = TPR
  • y-axis: Precision = TP / (TP + FP) = TP / PP

您的癌症检测示例是一个二元分类问题。 您的预测基于概率。得(不)得癌症的概率。

一般来说,如果 P(A) > 0.5(您的阈值),实例将被归类为 A。对于此值,您将获得基于真阳性、真阴性、假阳性和假阴性的召回精度对。

现在,当您更改 0.5 阈值时,您会得到不同的结果(不同的对)。对于 P(A) > 0.3,您已经可以将患者分类为 'has cancer'。 这将降低 Precision 并增加 Recall。你宁愿告诉某人他得了癌症,即使他没有,以确保癌症患者一定能得到他们需要的治疗。这代表了 TPR 和 FPR 或 Precision 和 Recall 或 Sensitivity 和 Specificity 之间的直观权衡。

让我们添加这些术语,因为它们在生物统计学中更常见。

  • Sensitivity = TP / P = Recall = TPR
  • Specificity = TN / N = (1 – FPR)

ROC 曲线和 Precision-Recall 曲线可视化分类器的所有这些可能阈值。

如果准确度本身不是合适的质量衡量标准,您应该考虑这些指标。将所有患者分类为 'does not have cancer' 将为您提供最高的准确性,但您的 ROC 和 Precision-Recall 曲线的值将为 1s 和 0s。