Locality-sensitive hashing Python - LSH Python

Locality Sensitive Hashing (LSH) is one of the most widely used techniques for speeding up kNN computation. LSH clusters the data into buckets and the distances are only computed between the query and the data points in the same buckets. LSH refers to both hashing functions used for the clustering and the kNN algorithm relying on such functions. LSH functions cluster data points so that the closer the data, the more likely they will be clustered in the same buckets. Such a function highly depends on the targeted distance: the choice of the LSH function is generally imposed by the considered distance. LSH is different from typical hash functions, e.g. for cryptographic purposes, which are designed so that similar objects are hashed to a very dissimilar buckets