lmcinnes/pynndescent
A Python nearest neighbor descent for approximate nearest neighbors
何を解決するか
PyNNDescentは、高次元空間におけるデータポイントの最近傍を効率的に見つける問題を解決します。正確な探索の計算コストを回避しつつ、高い精度(80%~100%)を維持する高速な近似最近傍(ANN)探索を提供します。
動作方法
このライブラリは、k近傍グラフの構築に「Nearest Neighbor Descent」アルゴリズムを実装しています。パフォーマンスを向上させるために、初期化にランダムプロジェクションツリーを使用し、グラフの多様性を高めるために、グラフ内の三角形の最も長い辺を削除する処理を実行しています。Minkowski、角度、相関、確率などの多様な距離メトリクスをサポートしており、カスタムユーザー定義メトリクスも利用可能です。
対象ユーザー
高速なANN探索ライブラリを必要とする開発者やデータサイエンティスト向けに設計されています。pipやcondaで簡単にインストールでき、Scikit-learnとシームレスに統合可能です。
特徴
- ANNベンチマークで競争力のあるパフォーマンスを実現する高速な近似最近傍クエリ。
- 多様な組み込み距離メトリクス(例:コサイン、ユークリッド、ハミング、ワッサーシュタイン)をサポート。
- パフォーマンスを損なうことなく、カスタムユーザー定義距離メトリクスを使用可能。
- Scikit-learnのKDTreesやBallTreesと同様のシンプルなインターフェースで、インデックスの構築とクエリが可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト