Overview of PyNNDescent for Approximate Nearest Neighbors
masterPyNNDescent is a Python implementation of Nearest Neighbor Descent for k-neighbor-graph construction and approximate nearest neighbor (ANN) search.
Key features include:
- High Accuracy: Targets 80%-100% accuracy rates.
- Initialization: Uses random projection trees for initialization, which is particularly effective for metrics like Euclidean, Minkowski, angular, and cosine.
- Graph Diversification: Performs pruning of the longest edges of any triangles in the graph to improve search quality.
- Flexibility: Supports a wide variety of distance metrics out-of-the-box and allows for custom user-defined distance metrics while maintaining performance.
- Scikit-learn Integration: Provides support for
KNeighborTransformeras a drop-in replacement for algorithms requiring nearest neighbor computations.