Uniform Manifold Approximation and Projection (UMAP)
Updated 20 Oct 2022
Connor Meehan, Jonathan Ebrahimian, Wayne Moore, and Stephen Meehan (2022). Uniform Manifold Approximation and Projection (UMAP) (https://www.mathworks.com/matlabcentral/fileexchange/71902), MATLAB Central File Exchange.
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Corrected documentation in run_umap for examples 4 & 5 which use FlowJo.
1. Integration with FlowJO
1) Improved documentation and examples for using MLP train/predict independently of UMAP
-mlp_train combines neural network and supervised template classification
1. Fast approximation now accelerates both matching and reduction processing.
2. Prediction table now:
V3.0 improves speed, classification assessment and ROI functionality. For details see the last section of the FileExchange description and/or search the run_umap.m file for fast_approximation, run_epp and match_predictions.
-New table showing density distribution & KLD of unreduced data associated with groupings of the reduced data
Fix edge case where running template fails IF the metric is a user defined function.
-Added parameters to run_umap "wrapper" that reach more capabilities within the UMAP.m core; search "v2.1.2" in run_umap.m to see these additions.
-Maximized UMAP parallelism speed by using all MATLAB’s assigned logical CPU cores
-Stochastic gradient descent (SGD) is now parallelized by default with our MEX method. See 'sgd_tasks' in the documentation.
-Improved documentation for some arguments and removed all popups when "verbose" is false
-Removed .exe and .MEX files to comply with File Exchange requirements. Users are now encouraged to download these from our Google Drive if they wish to significantly speed up run_umap.
-Fixed a bug in SGD in Java where data was unintentionally stored as two distinct objects
-Fixed some minor cosmetic issues such as suboptimal plot scaling
-If applying a UMAP template on data that appears to have new populations, a warning occurs and the option is given to perform a re-supervised reduction
-Fixed a GUI bug that would occur for users with MATLAB R2018b or earlier
-Data can now be reduced to any number of dimensions by changing the 'n_components' parameter; if reducing to more than 2 dimensions, a 3D plot is shown
-Added precomputed parameter values for users without the Curve Fitting Toolbox
-Added 2 examples (run_umap.m) showing how to perform supervised dimension reduction with UMAP