Skip to content
Part IA Lent Term

Cohen's Kappa for Two Annotators

Why Raw Agreement Misleads

If two annotators label items independently, simply counting how often they agree gives a misleading picture. Even if both annotators guess randomly, they will agree by chance some fraction of the time. With few classes (e.g., binary labels), chance agreement can be high: two annotators both guessing “OK” 50% of the time agree by chance 50% of the time.

Cohen’s κ\kappa corrects for this: it measures agreement above chance, normalised by the maximum possible agreement above chance.

Formula

κ=P(A)P(E)1P(E)\kappa = \frac{P(A) - P(E)}{1 - P(E)}

  • P(A)P(A): observed agreement — proportion of items where both annotators gave the same label.
  • P(E)P(E): expected chance agreement — the probability they would agree if both guessed independently based on their observed label distributions.

P(E)=cClassesP(Ann1 chooses c)×P(Ann2 chooses c)P(E) = \sum_{c \in \text{Classes}} P(\text{Ann}_1 \text{ chooses } c) \times P(\text{Ann}_2 \text{ chooses } c)

Interpretation

  • κ=1.0\kappa = 1.0: perfect agreement
  • κ>0.8\kappa > 0.8: strong agreement
  • κ>0.6\kappa > 0.6: acceptable agreement
  • κ=0.0\kappa = 0.0: no better than chance
  • κ<0\kappa < 0: worse than chance (systematic disagreement)

Full Worked Example (2023 Q7)

Two annotators (A and B) classify 8 items into 4 classes (I, II, III, IV). Data:

Item12345678
AIIIIVIIIIIIIVII
BIIIIIIIVIVIIVI

Step 1 — Observed agreement P(A)P(A): Items where A = B: item 1 (III=III), item 3 (II=II), item 6 (I=I), item 7 (IV=IV).

P(A)=4/8=0.5P(A) = 4/8 = 0.5

Step 2 — Marginal frequencies for A:

  • PA(I)=2/8=0.25P_A(\text{I}) = 2/8 = 0.25
  • PA(II)=3/8=0.375P_A(\text{II}) = 3/8 = 0.375
  • PA(III)=1/8=0.125P_A(\text{III}) = 1/8 = 0.125
  • PA(IV)=2/8=0.25P_A(\text{IV}) = 2/8 = 0.25

Step 3 — Marginal frequencies for B:

  • PB(I)=3/8=0.375P_B(\text{I}) = 3/8 = 0.375
  • PB(II)=1/8=0.125P_B(\text{II}) = 1/8 = 0.125
  • PB(III)=1/8=0.125P_B(\text{III}) = 1/8 = 0.125
  • PB(IV)=3/8=0.375P_B(\text{IV}) = 3/8 = 0.375

Step 4 — Expected chance agreement P(E)P(E):

P(E)=(0.25×0.375)+(0.375×0.125)+(0.125×0.125)+(0.25×0.375)P(E) = (0.25 \times 0.375) + (0.375 \times 0.125) + (0.125 \times 0.125) + (0.25 \times 0.375)

P(E)=0.09375+0.046875+0.015625+0.09375=0.25P(E) = 0.09375 + 0.046875 + 0.015625 + 0.09375 = 0.25

Step 5 — Compute κ\kappa:

κ=0.50.2510.25=0.250.75=0.333\kappa = \frac{0.5 - 0.25}{1 - 0.25} = \frac{0.25}{0.75} = 0.333

Interpretation: moderate agreement, well above chance (κ=0.0\kappa = 0.0) but far from strong (κ>0.8\kappa > 0.8). The annotators do better than random guessing but disagree substantially.

Why This Matters for ML

If human annotators achieve only κ=0.333\kappa = 0.333 on a task, a classifier trained on their labels cannot realistically exceed that performance. The inter-annotator agreement sets an upper bound on achievable classifier accuracy. Low κ\kappa indicates the task itself is subjective, and the “ground truth” labels are noisy.

Summary

ComponentMeaningThis example
P(A)P(A)Observed agreement0.5 (4 of 8)
P(E)P(E)Chance agreement0.25
κ\kappaAgreement above chance, normalised0.333

Past paper questions: y2023p3q7(b), y2021p3q9(c)