One of the main component of non-linear projection methods is the solution of large batches of
k nearest neighbors queries. In this sense
SimilaritySearch provides fast multithreaded algorithms using exact and approximated searching algorihtms.
This package provides two main structs
ManifoldKnnIndex (to work with
This package provides a pure Julia implementation of the Uniform Manifold Approximation and Projection dimension reduction algorithm
McInnes, L, Healy, J, Melville, J, UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. ArXiV 1802.03426, 2018
The implementation in this package is based on the UMAP.jl package by Dillon Gene Daudert and collaborators. Forked and adapted to work with
SimilaritySearch and take advantage of multithreading systems and different layout initializations. It can use any distance function from
SimilaritySearch, Distances.jl, StringDistances.jl, or any distance function implemented by the user.
SimSearchManifoldLearning provides an implementation that partially supports the
ManifoldLearning API using
predict, and similar arguments.
We implemented the
k nearest neighbor solver API of
ManifoldLearning such that
SimilaritySearch can be used. The use of
SimilaritySearch gives multithreading
k nearest neighbors solution, different distance functions and the different treadoffs between quality and speed for large datasets for the
k nearest neighbors queries.
Some examples are already working in SimilaritySearchDemos.