CP-HRIC · Experiment 004

One cell-type tree for every dataset

Can one cell-type head, over a shared tree of 29 cell types, replace the five separate heads our encoder used to need, one per public dataset, without losing anything? It is the first step toward one model that names every cell it sees.

Kept: the tree head is now the base · decided at 5 seeds, holds at 10
The Layer 8 robot marking a cell on a large tablet of stained cell images

The experiment

One change, everything else the same.

What changed
One head over a shared tree of 29 cell types replaces the five per-dataset heads. A cell labelled by one dataset only competes with the cell types that dataset uses, so a label another dataset never gives is treated as unknown, not wrong.
Held the same
The encoder recipe, the five public labelled-cell datasets, the seeds, the train and held-out split, and the scoring. 10 paired seeds of each.
Compared with
The previous model: the same encoder with five per-dataset heads. This is not a paper reproduction, so every difference is against that model.

At a glance

The tree head against the per-dataset heads.

Cell type: held-out mean balanced accuracy over 4 datasets (LeukemiaAttri withheld: its held-out cells overlap training)difference +0.005 ± 0.008
  1. Tree head10 seeds · 0.907 ± 0.0070.907
  2. Per-dataset heads (previous model)10 seeds · 0.902 ± 0.0080.902
Munich genetic subtype: SCEMILA's folds, macro-F1difference −0.003 ± 0.019
  1. Tree head10 seeds · 0.808 ± 0.0190.808
  2. Per-dataset heads (previous model)10 seeds · 0.810 ± 0.0180.810
Johns Hopkins APL: AUROC, all 106 patientsdifference +0.071 ± 0.080
  1. Tree head10 seeds · 0.769 ± 0.0790.769
  2. Per-dataset heads (previous model)10 seeds · 0.698 ± 0.0650.698
Johns Hopkins APL: AUROC, the 82 Discovery patientsdifference +0.078 ± 0.094
  1. Tree head10 seeds · 0.782 ± 0.0890.782
  2. Per-dataset heads (previous model)10 seeds · 0.704 ± 0.0850.704

Bar = mean across seeds · whisker = ± the spread across seeds · the difference is the mean of the seed-by-seed differences (tree head minus per-dataset heads) · axis starts at 0.5.

Cell type, dataset by dataset

Held-out balanced accuracy on each public dataset.

DatasetTree headPer-dataset headsDifference
MLL230.8670.857+0.010
Bone Marrow Cytomorphology0.7950.787+0.008
Barcelona0.9910.990+0.001
Ostrava0.9750.976−0.001

Means over the 10 seeds of each model.

LeukemiaAttri (ITU) row withheld: its held-out cells overlap training through a second camera; re-scoring on a slide-level split.

Every seed

Seed by seed, tree head vs per-dataset heads.

TestSeed 1Seed 2Seed 3Seed 4Seed 5Seed 6Seed 7Seed 8Seed 9Seed 10
Cell type: held-out mean balanced accuracy over 4 datasets (LeukemiaAttri withheld: its held-out cells overlap training)balanced accuracy0.909 vs 0.8980.906 vs 0.8980.908 vs 0.9070.911 vs 0.9040.895 vs 0.8950.915 vs 0.8940.911 vs 0.9200.896 vs 0.8950.912 vs 0.9060.905 vs 0.903
Munich genetic subtype: SCEMILA's folds, macro-F1macro-F10.787 vs 0.8160.801 vs 0.7740.802 vs 0.8270.823 vs 0.8140.817 vs 0.8060.826 vs 0.8180.812 vs 0.8170.827 vs 0.8140.817 vs 0.8310.766 vs 0.786
Johns Hopkins APL: AUROC, all 106 patientsAUROC0.739 vs 0.7160.725 vs 0.6030.742 vs 0.6360.607 vs 0.6590.840 vs 0.6920.842 vs 0.8190.861 vs 0.7450.708 vs 0.7650.804 vs 0.6640.821 vs 0.678
Johns Hopkins APL: AUROC, the 82 Discovery patientsAUROC0.780 vs 0.6590.737 vs 0.6200.716 vs 0.6620.584 vs 0.6560.870 vs 0.7020.862 vs 0.8900.872 vs 0.7460.757 vs 0.8000.834 vs 0.6780.809 vs 0.628

Data and reporting notes

  • Every number is the mean across independently trained seeds ± the spread across seeds (sample standard deviation).
  • The Johns Hopkins “all 106 patients” figure includes DeepAPL’s 24 held-out patients. Neither model was trained on Johns Hopkins, and both are scored the same way. Johns Hopkins scores use the cleaned data (prep v2).
  • Architecture decisions need at least 5 seeds, so this page appears only once both models have them.