pavlin-policar/openTSNE

Extensible, parallel implementations of t-SNE

What it solves

It provides a high-performance Python implementation of t-Distributed Stochastic Neighbor Embedding (t-SNE), a dimensionality-reduction algorithm used to visualize high-dimensional data sets. It addresses common t-SNE limitations by improving speed and scalability, allowing the visualization of millions of data points, and enhancing the preservation of global data alignment.

How it works

openTSNE implements two efficient algorithms for t-SNE: FIt-SNE (the default) and Barnes-Hut. It utilizes C/C++ binaries and supports OpenMP for multi-threading. For maximum performance on large datasets, it can integrate with FFTW3 to accelerate Fast Fourier Transforms.

Who it’s for

Data scientists and researchers, particularly those working with single-cell transcriptomics or other massive high-dimensional datasets that require clear visual clusters.

Highlights

  • Scalable to millions of data points.
  • Ability to add new data points to existing embeddings.
  • Modular Python design.
  • Support for multiple acceleration algorithms (FIt-SNE and Barnes-Hut).
  • Techniques to improve global alignment of visualizations.

Related

  • Project
  • Project
  • Project
  • Project
  • Project