Class UMAP
java.lang.Object
smile.manifold.UMAP
Uniform Manifold Approximation and Projection (UMAP).
UMAP is a nonlinear dimensionality reduction method designed for manifold visualization and unsupervised representation learning. It rests upon three key assumptions:
- The data manifold is locally Riemannian.
- The local metric is approximately constant in local neighborhoods.
- The manifold is locally connected.
From these topological assumptions, high-dimensional data is represented as a weighted fuzzy simplicial set, and embedded into low dimensions by minimizing cross-entropy via stochastic gradient descent.
References
- L. McInnes, J. Healy, and J. Melville. UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv:1802.03426, 2018.
- How UMAP Works
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic double[][]fit(double[][] data, UMAP.Options options) Executes UMAP on coordinate observations using Euclidean distance.static <T> double[][]fit(T[] data, NearestNeighborGraph nng, UMAP.Options options) Executes UMAP using a precomputed nearest neighbor graph.static <T> double[][]fit(T[] data, Metric<T> distance, UMAP.Options options) Executes UMAP with a custom metric distance function.
-
Method Details
-
fit
Executes UMAP on coordinate observations using Euclidean distance.- Parameters:
data- input observations.options- algorithm hyperparameters.- Returns:
- low-dimensional coordinates matrix.
-
fit
Executes UMAP with a custom metric distance function.- Type Parameters:
T- point data type.- Parameters:
data- input observations.distance- distance metric.options- algorithm hyperparameters.- Returns:
- low-dimensional coordinates matrix.
-
fit
Executes UMAP using a precomputed nearest neighbor graph.- Type Parameters:
T- point data type.- Parameters:
data- input observations.nng- nearest neighbor graph.options- algorithm hyperparameters.- Returns:
- low-dimensional coordinates matrix.
-