YingfanWang/PaCMAP

PaCMAP: Large-scale Dimension Reduction Technique Preserving Both Global and Local Structure

What it solves

PaCMAP (Pairwise Controlled Manifold Approximation) is a dimensionality reduction method designed for data visualization. It addresses the limitation of existing tools that typically prioritize either local structure (like t-SNE or UMAP) or global structure (like TriMAP), often failing to preserve both simultaneously.

How it works

PaCMAP optimizes a low-dimensional embedding by utilizing three distinct types of point pairs to maintain the data's original geometry:

  • Neighbor pairs: Preserve local structure.
  • Mid-near pairs: Capture global structure and refine the embedding.
  • Further pairs: Ensure points that are far apart in high-dimensional space remain separated.

It is designed to be compatible with the scikit-learn API, allowing users to fit and transform high-dimensional datasets into a lower-dimensional space (typically 2D) for visualization.

Who it’s for

  • Data Scientists and Researchers: Those needing to visualize high-dimensional datasets while maintaining a faithful representation of both local clusters and global relationships.
  • Bioinformaticians: Specifically those working with single-cell genomics (integrated via Seurat wrappers).

Highlights

  • Dual Structure Preservation: Simultaneously preserves both local and global data structures.
  • Scikit-learn Compatible: Uses a familiar fit_transform interface.
  • Conda/Pip Installation: Easy installation via conda-forge or pip.
  • Flexible KNN Backends: Supports FAISS (default), Annoy, and Voyager for efficient nearest neighbor search.
  • Cross-Language Support: Available in Python, R (via reticulate), and a standalone Rust implementation.

Related

  • Project
  • Project
  • Project
  • Project
  • Project