megaman: Manifold Learning with Millions of points
  Manifold Learning is a class of algorithms seeking a low-dimensional
non-linear representation of high-dimensional data. Thus manifold learning
algorithms are, at least in theory, most applicable to high-dimensional data
and sample sizes to enable accurate estimation of the manifold. Despite this,
most existing manifold learning implementations are not particularly scalable.
Here we present a Python package that implements a variety of manifold learning
algorithms in a modular and scalable fashion, using fast approximate neighbors
searches and fast sparse eigendecompositions. The package incorporates
theoretical advances in manifold learning, such as the unbiased Laplacian
estimator and the estimation of the embedding distortion by the Riemannian
metric method. In benchmarks, even on a single-core desktop computer, our code
embeds millions of data points in minutes, and takes just 200 minutes to embed
the main sample of galaxy spectra from the Sloan Digital Sky Survey ---
consisting of 0.6 million samples in 3750-dimensions --- a task which has not
previously been possible.
