1

Я ищу эффективную реализацию LSH в python 3, которая использует Euclidean расстояние.Реализация LSH в python 3 с евклидовым расстоянием и видя всех соседей в LSHForest

Существует реализация «in-python» LSHForest, но она использует косинусные расстояния.

Кроме того, даже используя эту реализацию, я не нашел способа увидеть содержимое каждой из корзин, например, если использовать LSH для кластеризации - он возвращает только определенное количество приблизительных соседей в пределах определенного радиуса. Но если я хочу видеть всех соседей, я не вижу, как это можно сделать (я не хочу использовать произвольный радиус поиска, и я действительно не уверен, что означает очень большой или бесконечный радиус, используя это реализация).

Поймите любое понимание. Большое спасибо.

ответ

1

Рекомендации по программному обеспечению можно получить здесь: Software Recommendations.


Для, как это работает, сначала прочтите мой answer, а затем предположим, что вы спрашиваете из пакета (я не использовал его) большой к (k должно быть число соседей, возвращаемый программного обеспечения), в пределах большого радиуса r. Это должно вернуть много соседей, установив k = N, где N - это количество точек в вашем наборе данных, и вы получите всех соседей.

Если вы хотите увидеть всех соседей в определенном ведре, вам нужно выяснить, сколько очков может содержать ведро, и установить k на это число.

+0

«тогда вам нужно выяснить, сколько очков может содержать ведро», что означает, что мне нужно перейти к исходному коду, поскольку реализация, вероятно, отличается от статьи, на которой она основана? Я не видел другого способа сделать это с помощью опций пакета. Может, кто-то, кто использовал пакет, может ответить на это? Спасибо – user3861925

+0

@ пользователь3861925 да, осуществлен определенный. Хорошо, если статья указывает эту информацию, вы можете основываться на этом. Спасибо за поддержку, вы также можете принять ответ, если хотите. Хороший вопрос BTW! – gsamaras

Смежные вопросы