from starplast import strategies as Ss = S.get('holdout_search')s
01 · Hold out a category and search for a map that finds it (UMAP + HDBSCAN) (Search the map space)
Is there a combination of measurements and map settings under which a label nobody showed the map falls out as clusters -- and which unlabelled genes land in them?
Hides one label entirely, walks feature sets and UMAP/HDBSCAN settings, and keeps the map whose clusters best recover that label; unlabelled genes in its pure clusters become candidates, with the shuffled-label score beside them.
Techniques: UMAP, HDBSCAN, Settings walk.
Scorecard (cluster recovery): Weighted F1, Weighted precision, Weighted recall, Adjusted Rand index (ARI), Normalised mutual information (NMI), Homogeneity, Completeness, Unclustered share.
- Pick the held-out label. Compartment is the classic first question.
- Leave the grids at their defaults for a first pass (4 maps x 2 cluster sizes x 2 selections); widen n_neighbors to '10, 25, 50, 100' once you know the label is recoverable at all.
- Set 'Genes per map' to 3000 for speed, 0 for the whole proteome.
- Press Test first: it hides a quarter of the label, lets the search choose the map and each label's cluster on the rest, and reports how well those clusters hold the hidden genes, against the same clusters scored on the hidden genes with their labels permuted. A FAIL means the chosen clusters hold the label no better than chance.
- Press Run. The best map is drawn, colored by its clusters; 'configurations' ranks every map, 'categories' says which labels were recovered and at what F1.
- Read 'label clusters' -- the cluster chosen for each label and how well it isolates it -- then 'calls', the unlabelled genes in those clusters. Click a row to find the gene; treat a call's F1 as the most it can be trusted.
How it is tested: 25% of the label is hidden (whole orthogroups together, so no gene is recovered through a visible paralog). The walk is built as set -- its genes per map (up to 4,000), feature sets and grids (up to three values each); the configuration, and the one cluster that best isolates each label, are both chosen using visible labels only. Metric: for each label, the F1 of its hidden genes against its chosen cluster, weighted by size -- does the structure found on known genes hold the unknown ones? Null: the same chosen clusters scored after permuting the hidden genes' labels, 100 times. (A second search on shuffled labels was the null once; it picks the largest cluster for every label, which scores F1 near 2p by size alone and made the null beat real labels.) Pass: above the null's 95th percentile by at least 0.05.
