Самые дальние точки точки в кНН - PullRequest
0 голосов
/ 10 декабря 2018

В документации классификатор kNN есть метод kneighbors, который возвращает k ближайших соседей.Меня интересует, как элегантно вернуть k самых дальних соседей по такому классификатору?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Многие пространственные индексы (квадродеревья, R-деревья, ...) могут быть легко изменены для поддержки самых дальних запросов соседей.Один общий алгоритм описан здесь (см. Раздел 4.5).Однако большинство из них не поддерживают его «из коробки».

Если вы используете kd-дерево, то, как сказал другой автор, может оказаться невозможным сделать это эффективно.

Другим вариантом может быть CoverTree, я не думаю, что алгоритм Хьялтасона / Самета будет работать там, но маловероятно, что вам придется искать все дерево.

Я тоже неУбедитесь, какие опции предоставляет Scikit-Learn, если вы действительно должны его использовать.

0 голосов
/ 10 декабря 2018

Нет, такой возможности нет.

Вы должны помнить, что для производительности будет дерево, чтобы получить ближайших соседей.Пытаться найти самые дальние средства, проходя через полное дерево, в основном вычисляя все расстояния.

Так что не используйте kNN в этом случае, просто вычислите расстояния и отсортируйте их.

...