Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: user139014Ответов: 1

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

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

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

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

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

pythoncluster-analysisalgorithmdata-miningdbscan

Ответы

Ответ 1 · рейтинг 1 · Has QUIT--Anony-Mousse

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы