/ Ako implementovať algoritmus zoskupovania DBSCAN? - algoritmus, klastrová analýza, dbscan

Ako implementovať algoritmus zoskupovania DBSCAN? - algoritmus, klastrová analýza, dbscan

Snažím sa implementovať DBSCAN ale nemôžem pochopiť myšlienku za tým. Ak prechádza celým údajom 1 na 1 a vytvorí nový klastr pre blízkych susedov, potom budem mať vždy veľa klastrov. Povedzme, že kontroluje blízkych susedov prvého bodu, nájde dostatok susedov (>MinPts), vytvorí pre ne cluster, presunie sa na ďalšiubod, skontrolovať susedov (môže tiež nájsť susedov, ktorí sú už v klastri) a vytvoriť pre nich nový klastr. a tak ďalej. Takže niektoré body budú pridané do viac ako 1 klastra ... Tým sa vytvorí veľa klastrov.

Môže niekto vysvetliť, ako tento algoritmus funguje? Nenašiel som o tom veľa informácií online.

odpovede:

0 pre odpoveď č. 1

Nie, keď ste vytvorili cluster, pozrite sabody v klastri a ak niektorý z nich má dostatočnú hustotu na to, aby mal svoj vlastný klastr, všetky body v tomto "proto-klastri" sa pridajú do pôvodného klastra. Týmto spôsobom sa pokračuje v aglomerácii, až kým nedôjde k poklesu hustoty, takže sa pridávajú body, ktoré nemajú dostatok susedných bodov na pokračovanie procesu. Keď sa tak stane, všetky body v tomto klastri sú trh "uzavreté" a proces opätovne začína hľadať nový klastr v zostávajúcich "otvorených" uzloch.


0 pre odpoveď č. 2

Existuje veľa materiálu pre DBSCAN na webe ... Aj keď skontrolujete wikipedia, nájdete podrobný algoritmus:

http://en.wikipedia.org/wiki/DBSCAN#Algorithm

Aký jazyk používate na kódovanie? Ak ste oboznámení s matlabom, java alebo r, existuje veľa implementácií online, ktoré vám môžu pomôcť ...

Dobrým zdrojom na začiatok by bol pôvodný papier ...