[ANN] SimSearchManifoldLearning.jl: Non-linear dimensional reduction using SimilaritySearch (ManifoldLearning and UMAP)

I am glad to announce SimSearchManifoldLearning, which implements some methods and API to use SimilaritySearch with manifold learning methods. In particular, it implements the knn function for ManifoldLearning and related types. It also provides a UMAP implementation, based on UMAP.jl, that takes advantage of many SimilaritySearch features like multithreading and data-model independency; it supports string, sets, vectors, etc. under diverse distance functions. It also allows being more confident about the quality of the approximate k nearest neighbors effortlessly.

Note that many kinds of data will not work with ManifoldLearning since several methods work with certain distances or data models; also, its API is fixed to support matrix-like data. In any case, it can take advantage of multithreading and various distance functions.

Some Pluto notebooks are available here, in the demonstrations section.

I hope you find it helpful. Note that this is a work in progress. Suggestions and contributions are always welcome.


1 Like