mixle.utils.hvis.front module¶
The one front door (design review R1): call one thing, get coordinates + receipts.
hvis.map(data) runs the whole pipeline the package’s pieces add up to: fit or accept a model,
compose the direct layout (model_map() – deterministic, occlusion-
resolved, optionally refined by t-SNE from the model-decided arrangement), and attach every receipt
so “make it make sense” is a property of the RETURNED OBJECT, not of the user’s diligence:
per-point uncertainty channels a plot can encode directly:
posterior_entropy(mixed membership) andtypicality(log-density percentile; low = the model finds this point odd);nerve+nerve_health– the learned cover’s topology (loops, disconnection);fit_health– does the MODEL describe the DATA (merged/shattered regimes, fiber calibration);render_health– does the MAP describe the MODEL (trustworthiness/continuity);zoom(components)– the hierarchy: re-chart a regime group with its own fibers, aligned back to the parent (residual reported, never silently rotated);summary()– every diagnosis in one plain-text block.
htsne/humap remain the optimizer-flavored escape hatches; this is the default reading.
- class Map(base, posterior_entropy=<factory>, typicality=<factory>, nerve=<factory>, nerve_health=<factory>, fit_health=<factory>, render_health=<factory>, merge_tree=<factory>, zoom_alignment_rms=None, _data=<factory>, _params=<factory>)[source]
Bases:
objectA finished map: coordinates, anchors, per-point uncertainty, and every receipt.
- Parameters:
- property diagnosis: list[str]
Every receipt’s findings, one flat list – empty means no receipt has a complaint.
- zoom(components)[source]
Re-chart one regime group with its own fibers: the sub-mixture over
componentsmaps the points they dominate, then the child layout is rigidly aligned (rotation/translation + uniform scale) onto those points’ PARENT positions – continuity is measured (zoom_alignment_rms), never assumed. Component indices in the child are positional withincomponents.
- hvis_map(data, mix_model=None, emb_dim=2, *, spread=0.35, chart='linear', occlusion=True, refine=False, goals=None, health=True, holdout=None, field_weights=None, max_components=50, dpm_max_its=200, seed=None, refine_kwargs=None)[source]
One call, one finished map (see module docstring). Deterministic unless a DPM must be fit.
goals(anchoring / partial labels / axis objectives) require the optimizer pass, so passing them impliesrefine=True.health=Falseskips the receipt computations (they are cheap and subsampled; skip only in tight loops).