{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2607-26278","title":"FloDR: An invertible dimensionality reduction method based on a normalising flow","arxiv_id":"2607.26278","date":"2026-07-28","proceeding":null,"authors":["Abdallah Baraka","Daniel Probst"],"abstract":"It is common for two-dimensional embeddings of high-dimensional data to be read far beyond what they can support. Distances in and between clusters, the meaning behind empty spaces, and the amount of structure hidden at each point are generally invisible in the output of methods such as t-SNE and UMAP. This is because the information that could support the meaning of these properties is discarded during the optimisation process. Here, we present FloDR, a dimensionality reduction method that embeds data through an invertible normalising flow. While FloDR only uses the first two output coordinates to create a two-dimensional embedding, it retains the remaining coordinates rather than discarding them. In addition to the embedding, an exact inverse and an exact density are properties of a trained mapping, which enable diagnostic visualisations that are computed from the exact inverse of the model that drew the layout rather than from an approximate one. Specifically, we draw two fields, the conditional spread, which measures how much of the original data remains undetermined at each embedding position in input units, and the hidden contrast, which measures how much information about a labelled contrast the two plotted coordinates discard. Both fields are rendered with a prespecified test against a held out portion of the input data and a bootstrap confidence. A field that fails the test is reported as refused.","url_abs":"https://arxiv.org/abs/2607.26278","url_pdf":"https://arxiv.org/pdf/2607.26278","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2607.26278","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2607.26278"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/daenuprobst/flodr","reach":null}],"summary":{"ran":6},"by_repo_kind":{"found_in_text":{"samples":6,"ran":6,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"5ea4ffcc34e9cede","entry":"occupancy_field","repo":"daenuprobst/flodr","repo_kind":"found_in_text","path":"src/flodr/viz.py","file_url":"https://github.com/daenuprobst/flodr/blob/HEAD/src/flodr/viz.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5ea4ffcc34e9cede"}},{"code_sha256_prefix":"d3bc48aac41efed8","entry":"preprocess","repo":"daenuprobst/flodr","repo_kind":"found_in_text","path":"src/flodr/data.py","file_url":"https://github.com/daenuprobst/flodr/blob/HEAD/src/flodr/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d3bc48aac41efed8"}},{"code_sha256_prefix":"f09fa12dadaa2aab","entry":"raw_coords","repo":"daenuprobst/flodr","repo_kind":"found_in_text","path":"src/flodr/data.py","file_url":"https://github.com/daenuprobst/flodr/blob/HEAD/src/flodr/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f09fa12dadaa2aab"}},{"code_sha256_prefix":"a259e1f617a3327d","entry":"residual","repo":"daenuprobst/flodr","repo_kind":"found_in_text","path":"src/flodr/viz.py","file_url":"https://github.com/daenuprobst/flodr/blob/HEAD/src/flodr/viz.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a259e1f617a3327d"}},{"code_sha256_prefix":"432973956677d18e","entry":"residual_fraction","repo":"daenuprobst/flodr","repo_kind":"found_in_text","path":"src/flodr/viz.py","file_url":"https://github.com/daenuprobst/flodr/blob/HEAD/src/flodr/viz.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"432973956677d18e"}},{"code_sha256_prefix":"e6d4f494e8ee5946","entry":"spectral_init","repo":"daenuprobst/flodr","repo_kind":"found_in_text","path":"src/flodr/data.py","file_url":"https://github.com/daenuprobst/flodr/blob/HEAD/src/flodr/data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e6d4f494e8ee5946"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}