Я пытаюсь найти точки, наиболее близкие по пространству в направлениях X и Y (набор данных образца, приведенный в конце), и я хочу посмотреть, есть ли более разумные подходы к этому, чем мой тривиальный (и непроверенный) подход. Сюжет этих точек в пространстве выглядит примерно так: я пытаюсь найти множество точек, помеченных внутри ящиков, то есть результат, который я ищу, представляет собой набор групп:
Group 1: (1,23), (2,23), (3,23)...
Group 2: (68,200), (68,201), (68,203), (68,204), (68,100), (68,101), (68,101)...
Для горизонтальных полос я думаю, что могу просто пойти и использовать маленькие скользящие окна размером, например, 5 или 10 (что действительно нужно определить из глобальной информации, размер которой будет давать максимальные сгруппированные точки, но я все еще исследуя хороший подход) и поиск смежных точек, потому что перерыв больше не будет считаться горизонтальной полосой.
Я предполагаю, что тот же подход работает и для вертикальных полос, но не во всех случаях, потому что существует тонкая разница в горизонтальной и вертикальной полосах: точки должны казаться близкими к горизонтальной группе, но они могут появляться в любом месте рассматриваемая часть вертикальной полосы. Соблюдайте большую вертикальную полосу на рисунке. Поэтому я предполагаю, что могу просто искать точки с одинаковой координатой x (в данном случае x = 68), чтобы дать мне много очков.
Помимо этого тривиального решения, я не могу придумать ничего умного, что можно сделать здесь, поскольку эта проблема кажется мне обманчиво простой. Я что-то упустил? Оказывается ли это на какой-то известный класс проблем, и если да, есть ли хороший и масштабируемый подход для достижения этого?
Пример набора данных:
1,23
1,23
2,23
3,23
4,23
5,23
6,23
7,23
8,23
9,23
10,23
11,23
12,23
13,23
14,23
15,23
16,23
10,33
11,33
12,33
13,33
14,33
15,33
16,33
17,33
18,33
19,33
2,28
2,28
3,28
34,75
34,76
34,76
34,77
34,78
34,79
34,80
34,81
34,82
34,83
34,75
34,76
34,76
34,77
34,78
34,79
34,80
34,81
400,28
400,28
400,28
68,200
68,201
68,203
68,204
68,100
68,101
68,103
68,104