--- id: umap-learn version: "0.5.12" license: BSD license_treatment: permissive maintenance: active --- # umap-learn — Uniform Manifold Approximation and Projection License: permissive · Maintenance: active · Downloads: 7.5M/mo ## What it is and what it does UMAP is a dimension reduction algorithm that embeds high-dimensional data into lower-dimensional space while preserving manifold structure. It models data as lying on a Riemannian manifold and uses fuzzy topological structure to find embeddings that balance local neighborhood relationships with global structure. The package follows a familiar transformer API, integrating naturally into existing ML pipelines. The algorithm depends on numpy, scipy, scikit-learn, numba (for performance), pynndescent (for nearest-neighbor search), and tqdm (for progress reporting). It supports sparse matrices, custom distance metrics, and includes densMAP for density-preserving embeddings. You can use it for exploratory visualization, as a preprocessing step before clustering, or as a general-purpose non-linear dimensionality reduction technique. Use it for: - Visualize high-dimensional datasets (e.g., image pixels, gene expression) in 2D or 3D for exploratory data analysis - Preprocess data before clustering to improve cluster quality - Reduce dimensionality as a feature engineering step before training downstream models - Preserve local density information in embeddings using densMAP for single-cell transcriptomics or similar applications - Handle sparse, very high-dimensional data where alternatives become computationally prohibitive ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. UMAP reduces high-dimensional data to lower dimensions for visualization and general non-linear dimensionality reduction, using a manifold-learning approach that preserves both local and global structure. Yes. UMAP is actively maintained, has no known vulnerabilities, low install friction, and a permissive BSD license. It is widely used in scientific and ML workflows. Install it if you need dimension reduction with better global structure preservation, or as a general-purpose manifold learning tool for exploratory analysis and preprocessing. ## Install pip install umap-learn uv add umap-learn poetry add umap-learn ## Installing umap-learn Before you install: Low install friction with a pure-Python wheel distribution. Requires numba for JIT compilation and dependencies including numpy and scipy, all of which are well-maintained. Active maintenance with a recent release 128 days ago. License in practice: BSD permissive license allows use in commercial and proprietary projects with minimal restrictions; you may use, modify, and distribute with proper attribution. Quickstart: pip install umap-learn import umap embedding = umap.UMAP().fit_transform(data) Requires Python 3.9 or later; numba JIT compilation may take time on first run but subsequent calls are fast. Verify before relying: - Whether the package supports GPU acceleration or if computation is CPU-only via numba - Performance characteristics on datasets with over a million dimensions (mentioned in description but not quantified) - Whether densMAP mode requires additional configuration or dependencies beyond the base install ## Package facts - License: BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 7.5M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags dimension reduction visualization, manifold learning, high-dimensional data embedding, t-SNE alternative, non-linear dimensionality reduction, data visualization projection, topological data analysis, dimensionality-reduction, manifold-learning, visualization [View on SkillFed](https://skillfed.io/packages/umap-learn) · [View on PyPI](https://pypi.org/project/umap-learn/)