Interactive AUROC curve learning resource with dark theme

AUROC — Area Under the ROC Curve

A binary classifier assigns a probability score to each sample. The ROC curve plots how the model's true positive rate (sensitivity) trades off against its false positive rate across every possible classification threshold.

Step 1 — each dot is a sample; its x-position is the model's predicted probability; drag the line to move the threshold:

TP — predicted positive, actually positive FP — predicted positive, actually negative FN — predicted negative, actually positive TN — predicted negative, actually negative
0.50

Step 2 — at this threshold, the counts and rates that define one point on the ROC curve:

TP
True positives
FN
False negatives
FP
False positives
TN
True negatives
TPR = TP / (TP + FN)  (y-axis)
FPR = FP / (FP + TN)  (x-axis)

Step 3 — each threshold gives a (FPR, TPR) point. The ROC curve connects them all. The amber dot is your current threshold:

ROC curve — move the threshold slider to trace the amber dot along the curve.
AUC
AUC = 0.5 → random
The curve lies on the diagonal. The model's scores carry no signal above chance.
AUC = 1.0 → perfect
Curve hits the top-left corner. Every positive scores higher than every negative.
Threshold-independent
AUC evaluates the model across all cutoffs — useful when you haven't chosen a threshold yet.
Probabilistic interpretation
AUC = the probability that a random positive is ranked higher than a random negative.