UMAP is a dimension reduction technique for visualizing and transforming high-dimensional data into lower-dimensional spaces while preserving topological structure.
The tool addresses the challenge of understanding high-dimensional datasets by reducing them to two or three dimensions suitable for visualization, or to intermediate dimensions for machine learning pipelines. UMAP models data as lying on a Riemannian manifold and searches for a low-dimensional projection that preserves the fuzzy topological structure of that manifold. The approach rests on three core assumptions: that data is uniformly distributed on a manifold, that the Riemannian metric is locally constant, and that the manifold is locally connected. The algorithm also includes densMAP, an augmentation that preserves local density information alongside topological structure.
Developers should choose UMAP when they need dimension reduction that works as a drop-in replacement for t-SNE but with broader applicability beyond visualization alone. The tool suits projects requiring both exploratory visualization of complex datasets and general non-linear dimension reduction for downstream machine learning tasks. Unlike t-SNE, which is primarily a visualization technique, UMAP can be applied to intermediate dimensionality reduction steps in data pipelines.
The project maintains comprehensive documentation through Read the Docs and publishes peer-reviewed papers describing the underlying mathematics and methods. The codebase has automated build testing and coverage tracking in place. The tool is distributed through both PyPI and conda-forge, making it accessible across different Python environments and workflows.