найти «изолированные точки» в многомерном - PullRequest
0 голосов
/ 24 июня 2018

У меня есть многомерный набор данных с 10K точек, имеющий 200 числовых столбцов.Я хотел бы эффективно найти, какие точки являются «изолированными» в том смысле, что они находятся далеко от ближайших n соседей.

Например, в наборе

{(-3, 0.5), (-2.9, 0.6), (-3.1,0.4), (-3, 2), (-2.9, 2.1), (-3.1, 2.2), (1, 0.5), (1.1, 0.6), (0.9, 0.4), (1,2) }

Точка(1,2) изолирован, хотя его значения x и y отдельно не являются выбросами.

Я пробовал различные варианты kNN, чтобы найти ближайших соседей к каждой точке, а затем решить,эти точки находятся далеко (например, если n-й сосед находится на расстоянии, превышающем все остальные расстояния).Но для 10K x 200 самый быстрый, который я получил, был около 40 секунд.Так как мне приходится делать это много раз в своем коде, я ищу что-то гораздо более быстрое.

Есть идеи?

...