DBSCAN с потенциально неточными координатами широты/долготы

Я запускал реализацию DBSCAN sci-kit Learn для кластеризации набора фотографий с геотегами по широте/долготе. По большей части это работает довольно хорошо, но я столкнулся с несколькими случаями, которые озадачили. Например, было два набора фотографий, для которых введенное пользователем текстовое поле указывало, что фотография была сделана в Центральном парке, но широта/долгота для этих фотографий не были сгруппированы вместе. Сами фотографии подтвердили, что оба набора наблюдений были сделаны из Центрального парка, но широта и долгота на самом деле отличались друг от друга дальше, чем epsilon.

После небольшого расследования я обнаружил, что причина этого в том, что геотеги широты и долготы (которые были сгенерированы из GPS телефона) довольно неточны. Когда я посмотрел на точность определения местоположения каждой фотографии, я обнаружил, что они сильно различаются (я видел погрешность до 600 метров) и что, если принять во внимание точность определения местоположения, эти два набора фотографий находятся в пределах близкое расстояние с точки зрения широты / долготы.

Есть ли способ учесть погрешность в широте/долготе, когда вы делаете DBSCAN?

(Примечание: я не уверен, что этот вопрос сформулирован так, как должен быть, поэтому, если я могу что-то сделать, чтобы сделать его более ясным, пожалуйста, дайте мне знать.)


person user139014    schedule 29.08.2013    source источник
comment
Увеличивает ли тривиальный ответ количество эпсилонов? Кажется, это единственный способ решить вашу проблему, кроме изменения расстояния между точками, которые вы используете.   -  person Save    schedule 29.08.2013
comment
Вы рассматривали возможность взятия нескольких образцов GPS-координат?   -  person VoronoiPotato    schedule 29.08.2013
comment
@VoronoiPotato хм, это хорошая идея, я попробую и посмотрю, что получится.   -  person user139014    schedule 29.08.2013


Ответы (1)


Обратите внимание, что DBSCAN на самом деле не нужны расстояния.

Посмотрите Обобщенный DBSCAN: все, что он действительно использует, - это отношение «соседство».

Если вам действительно нужно учитывать неопределенность, поищите различные варианты и расширения DBSCAN, которые явно обрабатывают неточные данные. Тем не менее, вы можете получить почти такие же результаты, просто выбрав разумный порог для эпсилон. Существует возможность выбора большего эпсилон, чем тот, который вы считаете адекватным: если вы хотите использовать эпсилон = 1 км и предполагаете, что ваши данные неточны на расстоянии 100 м, тогда вместо этого используйте 1100 м в качестве эпсилон.

person Has QUIT--Anony-Mousse    schedule 30.08.2013