Никогда не используйте пакет fpc
, всегда используйте dbscan::dbscan
.
Если у вас широта и долгота, вам нужно , чтобы выбрать подходящую функцию расстояния, такую как Haversine.
Функция расстояния по умолчанию, евклидова, игнорирует сферическую природу Земли.Тогда значение eps представляет собой смесь градусов широты и долготы, но они не соответствуют одинаковым расстояниям!Один градус к востоку на экваторе на намного дальше, чем на один градус к востоку в Ванкувере.
Даже в этом случае вам нужно обращать внимание на единицы.Одна реализация Haversine может давать радианы, другая - метры, и, конечно, кто-то сумасшедший будет работать за мили.
К сожалению, насколько я могу судить, ни одна из реализаций R не может ускорить расстояние Haversine.Таким образом, вместо кластеризации данных в ELKI может быть на намного быстрее (хотя вы должны сами добавить индекс).
Если ваши данные достаточно малы, вы можете использовать предварительно вычисленное расстояниематрица (dist
объект) в R. Но это займет O (n²) времени и памяти, поэтому она не очень масштабируема.