A ROC curve plots the relationship between true positive rate (TPR, i.e. sensitivity/recall) and false positive rate (FPR, i.e. 1 - specificity), while a precision-recall (PR) curve plots the relationship between positive predictive value (PPV, i.e. precision) and recall (TPR).

For a tabular view of these metrics, please see an interactive confusion table that I created at here, or the one at wiki.

Today, I reread a very insightful paper, The Relationship Between Precision-Recall and ROC Curves (pdf), by Jesse Davis and Mark Goadrich, published on 2006, and here I summarize my understanding of the key take-home messages.

  1. When the dataset is highly skewed in the class distribution, use PR curve as ROC curve is deceiving as a proxy for the performance of the classifier or test that produce the result, i.e. the confusion table.
  2. For any dataset and a given algorithm, the points on the ROC curve and those on the PR curve have one-to-one correspondences. In otherwords, each (TPR, FPR) point has a correspondent (PPV, TPR) point.
  3. If a curve dominates in the ROC space, then its corresponding curve in the PR space also dominates.
  4. A convex ROC hull in the ROC space corresponds to a so-called achievable PR curve in the PR space, and they discard the exact same points ((TPR, FPR) in ROC space, and (PPV, TPR) in the PR space)
  5. While linear interpolation is valid in the ROC space, it overestimates the AUC in the PR space, thus insufficient.
  6. An algorithm that optimizes AUROC is not guaranteed to optimize AUPRC.