#python #dbscan
#питон #dbscan
Вопрос:
Я хочу сгруппировать некоторые точки GPS с помощью алгоритма DBSCAN, и я выбираю eps: 20 м и min_samples: 4. Алгоритм отлично работает с моими данными, однако мне нужно также учитывать время точки в процессе кластеризации. Предположим, что в кластере есть 10 точек, однако 4 из них находятся между 8 утра и 8:30 утра, а другие продолжительностью от 11 до 11:15 утра. Чего я хочу, так это чтобы алгоритм обнаружил здесь 2 кластера, один со временем 8 баллов и один со временем 11 баллов. Я имею в виду, что мне нужно иметь другие критерии для моего алгоритма DBSCAN, а не eps и min_samples.
Комментарии:
1. Нет, вы создали трехмерную точку (широта, длина, время) и пытаетесь сгруппироваться на основе этого
2. @DaniMesejo Я думал об этом, однако мне интересно, какова будет единица измерения расстояния в трехмерной точке (широта, длина, время)? так как я хочу, чтобы eps был 20 метров.
3. Каковы критерии для определения времени?
4. @DaniMesejo Мне нужно, чтобы алгоритм учитывал не только расстояние между точками, но и время возникновения… соседние точки также должны находиться в определенном временном диапазоне.
5. Да, я это понял, но вы сказали, что вам нужно 20 метров для расстояния между точками, каким должно быть значение для этого конкретного временного диапазона
Ответ №1:
Используйте обобщенный DBSCAN.
Затем определите соседей как оба
- в пределах расстояния maxneighborhordistance км
- в течение максимум нескольких минут