1

私は、ユークリッド距離を使用するpython 3でLSHの効率的な実装を探しています。Python 3でユークリッド距離でLSHを実装し、LSHForestのすべての近傍を見る

"in-python" LSHForest実装がありますが、余弦距離が使用されます。

また、この実装を使用しても、バスケットの内容を確認する方法は見つけられませんでした。たとえば、LSHをクラスタリングに使用する場合、特定の半径内に特定数のおおよその近隣を返します。しかし、もし私がすべての隣人を見たいと思えば、私はそれができる方法を見ません(私は検索の任意の半径を使用したくないと私は本当にこれを使用して非常に大きいまたは無限の半径の意味がわからない実装)。

洞察があれば分かります。どうもありがとう。

答えて

1

ソフトウェアの推奨事項については、Software Recommendationsでお問い合わせください。これがどのように機能するかについては


、まず、私のanswerを読んで、あなたがパッケージ(私はそれを使用していない)大きなK(kが隣人ソフトウェアが返すの数でなければなりません)から依頼されることを前提と大きな半径の中でr。それはk = Nと設定します。Nはあなたのデータセット内のポイントの数であり、すべての近隣を取得します。

特定のバケット内のすべてのネイバーを表示する場合は、バケット内に含まれるポイントの数を調べて、その番号にkを設定する必要があります。

+0

"バケツにはどのくらいの数のポイントが含まれているかを調べる必要があります。つまり、実装はおそらくそれが基づいている記事と異なるため、ソースコードに移動する必要があります。パッケージオプションを使用してこれを行う方法は他にありませんでした。おそらく、パッケージを使用した人がこれに答えることができますか?ありがとうございます – user3861925

+0

@ user3861925はい、実装が定義されています。記事でその情報が指定されていれば、その情報に基づいている可能性があります。 upvoteのおかげで、もしあなたが好きなら答えを受け入れることもできます。良い質問BTW! – gsamaras

関連する問題