Every classifier's real performance is a whole curve, not one number — moving the decision threshold always trades precision against recall.
precision = TP/(TP+FP)
recall = TP/(TP+FN)
- Test samples — held-out labelled samples the model is scored against.
- Class separation — how well-separated the model's predicted scores are between the two true classes.
- Decision threshold — score cutoff above which a prediction counts as positive.
- Noise level — label/measurement noise blurring the separation between classes.
Choosing this threshold is a real deployment decision — a cancer screen and a spam filter want very different points on the same precision-recall curve.