Skip to content

docs: record three evaluation pitfalls that produced wrong conclusions - #533

Open
Ultimate-Storm wants to merge 1 commit into
mainfrom
docs/evaluation-pitfalls
Open

docs: record three evaluation pitfalls that produced wrong conclusions#533
Ultimate-Storm wants to merge 1 commit into
mainfrom
docs/evaluation-pitfalls

Conversation

@Ultimate-Storm

Copy link
Copy Markdown
Contributor

Companion to SWARM_FAILURE_MODES.md — that covers how a run fails, this covers how a number misleads. All three entries actually happened on this project.

E1 — macro AUROC does not rank centres at small class support. The per-site table ranked UMCU worst (0.602) and RUMC best (0.857). Both were artefacts: the ordering tracks how many benign cases each test split happened to contain (0, 1, 2, 2, 12), because macro AUROC gives that class a third of the weight regardless of support.

Site n benign benign AUROC macro macro w/o benign
UMCU_1 41 2 0.372 0.602 0.717
CAM_1 64 2 0.315 0.710 0.908
RUMC_1 8 0 n/a 0.857 0.857

CAM was penalised as hard as UMCU and nobody noticed. RUMC "led" only because two classes were averaged instead of three. It is a split artefact — benign is ~10% of UMCU's challenge slice overall, but only 2 of 20 landed in the 41-case test partition.

Also records that these are the challenge test partition, not any site's training data — 41 of 204 curated exams against a >10,000-exam training contribution. Without that, "UMCU's results are weak" reads as a statement about their data.

E2 — checkpoint loaded with the wrong architecture loads silently and yields meaningless-but-plausible metrics.

E3 — accuracy hid a mis-set decision threshold that under-called malignancy.

Flags #526 (D2.5 regional fine-tuning) as the next place E1 applies, since it compares per-region performance on these same small partitions.

🤖 Generated with Claude Code

Companion to SWARM_FAILURE_MODES.md, which covers how a run fails; this covers
how a number misleads. All three actually happened.

E1 — macro AUROC ranked centres by how many benign cases their test split
happened to contain (0, 1, 2, 2, 12), not by performance. UMCU was called the
weakest centre at 0.602 on that basis; excluding the 2-case benign class it is
0.717, and CAM moves 0.710 -> 0.908 on the same correction. RUMC "led" only
because it has no benign cases at all, so two classes were averaged instead of
three. It is a split artefact: benign is ~10% of UMCU's challenge slice overall.

E2 — a checkpoint loaded with the wrong architecture (MST vs 1DivideAndConquer)
produced plausible-looking but meaningless output and a false shortcut-learning
diagnosis.

E3 — accuracy 0.752 alongside malignant AUROC 0.887 hid that the model called
malignant 21 times against 37 true cases. The threshold was wrong, not the model.

Flags #526 (D2.5 regional fine-tuning) as the next place E1 applies.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants