Precision-Recall曲线中的阈值是多少?

时间:2017-09-14 17:03:44

标签: machine-learning classification auc precision-recall model-comparison

我知道Precision的概念以及Recall的概念。但我发现很难理解“阈值”的概念,它可以使任何P-R曲线成为可能。

想象一下,我有一个模型可以预测患者在相关特征上使用一些不错的分类算法来重现(是或否)癌症。我将数据拆分用于培训和测试。假设我使用火车数据训练了模型,并使用测试数据获得了精度和召回指标。

但我现在如何绘制P-R曲线?在什么基础上?我只有两个值,一个精度和一个召回。我读到它的“阈值”,它允许你获得几个精确回忆对。但那个门槛是多少?我还是初学者,我无法理解门槛的概念。

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

Model Comparison Using Precision-Recall Curve

1 个答案:

答案 0 :(得分:15)

首先,您应该删除' ' auc' 标签,因为精确回忆曲线是不同的:

  

ROC曲线:

     
      
  • x轴:假阳性率FPR = FP /(FP + TN)= FP / N
  •   
  • y轴:真阳性率TPR =召回= TP /(TP + FN)= TP / P
  •   
     

精确回忆曲线:

     
      
  • x轴:召回= TP /(TP + FN)= TP / P = TPR
  •   
  • y轴:精度= TP /(TP + FP)= TP / PP
  •   

您的癌症检测示例是二元分类问题。 您的预测基于概率。 (不)患癌症的可能性。

通常,如果P(A)> P,则实例将被分类为A. 0.5(你的门槛值)。对于此值,您将根据True Positives,True Negatives,False Positives和False Negatives获得Recall-Precision对。

现在,当您更改0.5阈值时,您会得到不同的结果(不同的对)。您已经可以对患者进行分类,因为他们患有癌症'对于P(A)> 0.3。 这将降低精度并增加召回。你宁愿告诉别人他患有癌症,即使他没有,也要确保患有癌症的患者一定能得到他们需要的治疗。这代表了TPR和FPR或精确和召回或灵敏度和特异性之间的直观权衡。

让我们在生物统计学中更常见这些术语。

  
      
  • 灵敏度= TP / P =召回= TPR
  •   
  • 特异性= TN / N =(1 - FPR)
  •   

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

如果仅靠准确性不是合适的质量指标,则应考虑这些指标。将所有患者分类为没有癌症'将为您提供最高的准确度,但您的ROC和Precision-Recall曲线的值将为1和0。