megaman: Manifold Learning with Millions of points
This addresses the scalability bottleneck for researchers and practitioners in data science and astronomy who need to apply manifold learning to large datasets, representing an incremental improvement in efficiency.
The authors tackled the scalability problem in manifold learning by developing a Python package that implements various algorithms in a modular and scalable way, enabling embedding of millions of data points in minutes, such as 0.6 million galaxy spectra in 200 minutes.
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.