Annoy (Approximate Nearest Neighbors Oh Yeah) is a C++ library with Python bindings to search for points in space that are close to a given query point. It also creates large read-only file-based data structures that are mmapped into memory so that many processes may share the same data.To install, simply do sudo pip install annoy to pull down the latest version from PyPI.
c-plus-plus nearest-neighbor-search locality-sensitive-hashing approximate-nearest-neighbor-searchmlpack is an intuitive, fast, and flexible C++ machine learning library with bindings to other languages. It is meant to be a machine learning analog to LAPACK, and aims to implement a wide array of machine learning methods and functions as a "swiss army knife" for machine learning researchers. In addition to its powerful C++ interface, mlpack also provides command-line programs and Python bindings.
machine-learning-library c-plus-plus deep-learning nearest-neighbor-search regression machine-learningThis is Python training and testing code for Locally Optimized Product Quantization (LOPQ) models, as well as Spark scripts to scale training to hundreds of millions of vectors. The resulting model can be used in Python with code provided here or deployed via a Protobuf format to, e.g., search backends for high performance approximate nearest neighbor search.Locally Optimized Product Quantization (LOPQ) [1] is a hierarchical quantization algorithm that produces codes of configurable length for data points. These codes are efficient representations of the original vector and can be used in a variety of ways depending on the application, including as hashes that preserve locality, as a compressed vector from which an approximate vector in the data space can be reconstructed, and as a representation from which to compute an approximation of the Euclidean distance between points.
nearest-neighbor-search product-quantization lopq clustering sparkFor more detail, see the installation for instruction on how to build N2 from source. N2 is an approximate nearest neighborhoods algorithm library written in C++ (including Python/Go bindings). N2 provides a much faster search speed than other implementations when modeling large dataset. Also, N2 supports multi-core CPUs for index building.
ml knn machine-learning approximate k-nearest-neighbors nearest-neighbor-search approximate-nearest-neighbor-searchSpark algorithms for building and processing k-nn graphs.All algorithms support custom classes as value. See an example with custom class as value.
spark spark-knn-graphs algorithm nearest-neighbor-search processing-knn-graphs lsh-superbit nn-descent knn-graphsScANNS is a nearest neighbor search library for Apache Spark originally developed by Namit Katariya from the LinkedIn Machine Learning Algorithms team. It enables nearest neighbor search in a batch offline context within the cosine, jaccard and euclidean distance spaces. This library has been tested to scale to hundreds of millions to low billions of data points.
lsh nearest-neighbor-search spark nearest-neighborsThanks Eh2406 for various fixes and perf improvements. at your option.
tree geo-spatial nearest-neighbor-search index search k-dimensionalTarsosLSH is a Java library implementing sub-linear nearest neigbour search algorithms. It contains both an approximate and an exact search algorithm. The first, Locality-sensitive Hashing (LSH) is a randomized approximate search algorithm for a number of search spaces. The second, Multi-index hashing is an exact nearest neigbour search algorithm which is limited to Hamming space. Locality-sensitive Hashing (LSH), a practical nearest neighbour search algorithm for multidimensional vectors that operates in sublinear time. It supports several Locality Sensitive Hashing (LSH) families: the Euclidean hash family (L2), city block hash family (L1) and cosine hash family. The library tries to hit the sweet spot between being capable enough to get real tasks done, and compact enough to serve as a demonstration on how LSH works.
lsh nearest-neighbor-search multi-dimensional-hashingsoundfingerprinting is a C# framework designed for developers, enthusiasts, researchers in the fields of audio and digital signal processing, data mining and audio recognition. It implements an efficient algorithm which provides fast insert and retrieval of acoustic fingerprints with high precision and recall rate. Below code snippet shows how to extract acoustic fingerprints from an audio file and later use them as identifiers to recognize unknown audio query. These sub-fingerprints (or fingerprints, 2 terms are used interchangeably) will be stored in a configurable backend. The interfaces for fingerprinting and querying audio files are implemented as Fluent Interfaces.
audio fingerprints algorithm acoustic-fingerprints recognition locality-sensitive-hashing nearest-neighbor-searchVisually interact with dots in your browser classifying unknown dots using the K-Nearest Neighbors algorithm. Playable at Lettier.com.
interactive-knearest-neighbors knn machine-learning data-science visualization html5 nearest-neighbor-search data-analysis scikit-learn machine-learning-algorithms ai classification statistics gui k-nearest-neighbors k-nearest-neighbor k-nearest-neighbours k-nn nearest neighborsPresentation slides @ VLDB 2016, New Delhi. We used two datasets for evaluation. The datasets are all from public domains and can be downloaded directly from the original publisher.
lsh lsh-forest paper vldb lsh-ensemble containment nearest-neighbor-search containment-search approximate-nearest-neighbor-searchDong, Wei, Charikar Moses, and Kai Li. "Efficient k-nearest neighbor graph construction for generic similarity measures." Proceedings of the 20th international conference on World wide web. ACM, 2011. This library supplements that approach with the use of random projection trees for initialisation. This can be particularly useful for the metrics that are amenable to such approaches (euclidean, minkowski, angular, cosine, etc.).
nearest-neighbor-search knn-graphs approximate-nearest-neighbor-searchgann (go-approximate-nearest-neighbor) is a library for approximate nearest neighbor search purely written in golang. The implemented algorithm is truly inspired by Annoy (https://github.com/spotify/annoy).
nearest-neighbor-search approximate-nearest-neighbor-search bsp-tree machine-learningA k-d tree implementation in Go.
kdtree tree library nearest-neighbor-search nearest-neighborrun "bash install.sh" to download all the required libraries and data. It would take several minutes to tens of minutes, depending on the network connection. We have been running our codes since Matlab R2011b. The latest version of code is tested on Matlab R2015a. Please let us know if you run into problem.
knn nearest-neighbor-search matting vision segmentation foreground knn-matting vlfeatBisector tree implementation in OCaml. A bisector tree allows to do fast and exact nearest neighbor searches in any space provided that you have a metric (function) to measure the distance between any two points in that space.
ocaml-library nearest-neighbor-search nearest-neighbours bisector-tree distance metric point-query point-cloud range-query static-spatial-indexingA vantage point tree implementation in OCaml. Cf. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.41.4193&rep=rep1&type=pdf for details.
ocaml-library vantage-point-tree distance metric spatial-indexing point-query nearest-neighbor-searchPure Go implementation of Approximate k-Nearest-Neighbor search. Wrap an ANNer with a MappedANNer to associate values with vectors.
nearest-neighbor-search mrpt
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.