Grupowanie danych - znajdowanie miast

0

Cześć, czy znacie jakiś dobry algorytm grupowania danych, który poradziłby sobie z niżej wymienionymi założeniami (może sami macie jakiś pomysł jak to rozwiązać):

  1. Załóżmy, że mam dane współrzędne każdego człowieka na ziemi (X,Y, ew. Z) lub na jakimś obszarze (np. Polska/Europa/Mazowsze etc.)
  2. Nie wiem czym jest miasto (ile musi być w nim mieszkańców etc.)
  3. Teraz mając taką bazę danych chciałbym odnaleźć wszystkie miasta na ziemi tj. miejsca, gdzie są większe zgrupowania ludzi.

Myślałem o algorytmie k-means oraz sieci Kohonena, ale problem jest taki, że nie wiem ile takich miast jest...

Możecie zaproponować jakiś algorytm, który by się do tego nadawał najlepiej?
Z góry dzięki za pomoc

0

Jak dla mnie to jest idealny przykład zastosowania dla klastrowania za pomocą DBSCANa. To jest algorytm który przyjmuje 2 parametry: minimalną liczbę elementów które mogą utworzyć nowy klaster (twój minimalny rozmiar miasta) oraz maksymalne otoczenie w którym poszukujemy elementów sąsiednich (czyli jak daleko od siebie mogą mieszkać ludzie, żebyśmy nadal uważali ich za członków tego samego miasta).
Tylko że takie rozwiązanie może dać ci czasem zbyt dużą granulację jeśli epsilon będzie mały -> znajdziesz wszystkie osiedla a nie wszystkie miasta, albo odwrotnie przy zbyt dużym epsilonie możesz złapać całe aglomeracje / konurbacje zamiast poszczególnych miast :)

Ewentualnie warto popatrzeć na ulepszonego DBSCANa czyli OPTICS, bo niektóre miasta mogą być gęściej, inne rzadziej zaludnione.

1 użytkowników online, w tym zalogowanych: 0, gości: 1