DBSCAN – Wikipedia

before-content-x4

Dbscan ( Clustering spatial basé sur la densité des applications avec bruit , environ: Analyse des grappes spatiales dichtbaubrées avec bruit ) est un pantalon de données Kriegel, Jörg Sander et Xiaowei Xu ont développé un algorithme d’exploration de données pour l’analyse en grappes. Il est l’un des plus émus [d’abord] Algorithmes dans ce domaine.
L’algorithme fonctionne densément et est capable de reconnaître plusieurs clusters. Dans le cas des points de bruit, sont ignorés et livrés séparément.

Les points à A sont des points clés. Les points B et C sont densité De a et ainsi Lié à la densité Et appartiennent au même cluster. Le point N n’est ni un point central ni une densité, donc le bruit. ((

L’idée de base de l’algorithme est le concept de Densité . Deux objets sont considérés Lié à la densité S’il y a une chaîne de poésie Objets ( Objets de base , avec plus de

m je n P t s {DisplayStyle Minpts}

Voisins) qui combinent ces points ensemble. Ceux à travers le même Objets de base Les objets connectés forment un cluster. Objets qui ne font pas partie d’un lié à la densité Sont des clusters, comme du bruit (anglais. Bruit ) désigné.

Il existe trois types de points dans DBSCAN:

  • Objets de base , qui lui-même fermé sont.
  • Densité Objets. Ce sont des objets qui viennent d’un Objet de base le cluster peut être atteint, mais même pas fermé sont. Ceux-ci forment clairement le bord d’un cluster.
  • Des points d’établissement qui ni l’un ni l’autre fermé , toujours densité sont.

L’algorithme a deux paramètres

e {displayStyle Varsilon}

et

after-content-x4
m je n P t s {DisplayStyle Minpts}

.

Densité Les points peuvent provenir de plus d’un cluster densité être. Ces points sont attribués à l’un des clusters possibles par l’algorithme. Cela implique également que Densité n’est pas transitif; Densité n’est pas symétrique.

DBSCAN est exactement par rapport à la définition de Lié à la densité et Bruit . Cela signifie deux lié à la densité Les objets sont garantis dans le même cluster, tandis que le bruit des objets est en sécurité dans Bruit sont. L’algorithme n’est pas exactement densité Objets, ceux-ci ne sont affectés qu’à un seul cluster, pas tous possibles.

En revanche, par exemple à l’algorithme K-Means, il ne doit pas être connu à l’avance combien de clusters existent.

L’algorithme peut détecter le groupe de n’importe quelle forme (par exemple non seulement sphérique).

DBSCAN est largement déterministe et indépendant de l’ordre: quel que soit l’ordre dans lequel les objets sont stockés ou traités dans la base de données, les mêmes grappes surviennent (à l’exception de densité Objets non essentiels et numérotation des cluster).

L’algorithme peut être utilisé avec toutes les fonctions de distance et la similitude. Contrairement à l’algorithme K-Means, aucun espace géométrique n’est nécessaire car aucun centre ne doit être calculé.

Dbscan lui-même est de linéaire Complexité. Chaque objet n’est essentiellement visité qu’une seule fois. Cependant, le calcul du

e {displayStyle Varsilon}

-Not en règle générale n’est pas possible en temps constant (sans préparation correspondante). Sans l’utilisation de données préparées ou une structure d’index appropriée, l’algorithme est d’une complexité carrée.

La version originale de DBSCAN [2] Peut être décrit par le pseudocode suivant:

DBSCAN (D, EPS, Minpts)
   C = 0
   pour chaque point non visité P dans l'ensemble de données D
      Mark P comme visité
      N = D.RegionQuery (P, EPS)
      Si sizeof (n) 
ExpandCluster (P, N, C, EPS, Minpts)
   Ajouter P au cluster C
   pour chaque point p 'en n
      Si P 'n'est pas visité
         Mark P 'comme visité
         N '= D.RegionQuery (P', EPS)
         Si sizeof (n ')> = minpts
            N = n rejoint avec n '
      Si P 'n'est pas encore membre d'un cluster
         Ajouter P 'au cluster C
         Unmark p 'comme bruit si nécessaire 
RegionQuery (P, EPS)
   Retournez tous les points dans l'EPS-Neighborhood de P (y compris P) 

Alternativement, DBSCAN pourrait également être mis en œuvre de manière récursive (au lieu du rejoindre depuis

N {displaystyle n}

Si un appel récursif est fait), cela n'offre aucun avantage notable.

L'implémentation récursive montre comment fonctionne DBSCAN. Cependant, comme la profondeur de la récursivité peut devenir très élevée, le libellé normal basé sur la quantité est préférable comme mise en œuvre.

DBSCAN (D, EPS, Minpts)
   C = 0
   pour chaque point non visité P dans l'ensemble de données D
      Mark P comme visité
      N = getneighbors (p, eps)
      Si sizeof (n) 
RecursiveExpandCluster (P, C, EPS, Minpts)
   Ajouter P au cluster C
   Si P n'est pas visité
     Mark P comme visité
     N = getneighbors (p, eps)
     Si sizeof (n)> = minpts
       pour p 'en n
         Si P 'n'est pas encore membre d'un cluster
           RecursiveExpandCluster (P ', C, EPS, Minpts) 

La version généralisée de DBSCAN, GDBSCAN [3] [4] Résumé du

e {displayStyle Varsilon}

-Nachbarkt et le

m je n P t s {DisplayStyle Minpts}

-Ticht Criterion. Ceux-ci sont remplacés par un prédicat getneighbors Et un prédicat iscorepoint .

GDBScan (D, Getneighbors, Iscorepoint)
   C = 0
   pour chaque point non visité P dans l'ensemble de données D
      Mark P comme visité
      N = getneighbors (p)
      Si iscorepoint (p, n)
         C = cluster suivant
         ExtendCluster (P, N, C)
      autre
         Mark P comme bruit 
ExtendCluster (P, N, C)
   Ajouter P au cluster C
   pour chaque point p 'en n
      Si P 'n'est pas visité
         Mark P 'comme visité
         N '= getneighbors (p')
         Si iscorepoint (p ', n')
            N = n rejoint avec n '
      Si P 'n'est pas encore membre d'un cluster
         Ajouter P 'au cluster C 

Si vous utilisez un

e {displayStyle Varsilon}

-Comètre de la zone comme getneighbors et le

m je n P t s {DisplayStyle Minpts}

-Teste comme iscorepoint -Prädikat, vous obtenez donc évidemment l'algorithme DBSCAN d'origine.

Entre autres, cet algorithme est basé

  • Optique - Points de commande pour identifier la structure de clustering
  • Classement partagé-nearest-neighbor - Trouver des grappes de différentes tailles, formes et densités dans des données bruyantes et de grande dimension
  • Precon - Clustering connecté à la densité avec les préférences du sous-espace local
  • Subclu - Clustering sous-espace connecté de la densité pour des données de grande dimension
  • 4C - COMPORTATION DES CLUSTRES D'OBJETS CONNECTÉS DE CORRÉLATION
  • Eric - Exploration des relations complexes des grappes de corrélation
  • HDBScan - Clustering basé sur la densité hiérarchique [5]

L'algorithme dbscan est inclus dans

  • Elki (avec indexation flexible et de nombreuses variantes)
  • Scikit-Learn (avec index pour les mesures communes)
  • Weka (mais implémenté sans support d'index, ainsi que inefficace)
  1. Recherche académique de Microsoft: Article d'exploration de données améliorés par Meist. (Pas disponible en ligne) Archivé à partir de Original suis 21. avril 2010 ; Récupéré le 10 mai 2010 (DBSCAN est d'environ 20–25).
  2. Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu: Un algorithme basé sur la densité pour découvrir des clusters dans de grandes bases de données spatiales avec du bruit . Dans: Evangelos Simoudis, Jiwei Han, Usama M. Avantages (HRSG.) Actes de la deuxième conférence internationale sur la découverte des connaissances et l'exploration de données (KDD-96) . IMSA Prays, 1996, 1-575-905-9, S. 226–231 ( En ligne Pdf).
  3. Jörg Sander, Martin Ester, Hans-Peter Kriegel et Xiaowei Xu: Clustering basé sur la densité dans les bases de données spatiales: l'algorithme GDBSCAN et ses applications . Dans: Exploration de données et découverte de connaissances . 2e édition. Groupe 2 . Springer, Berlin 1998, doi: 10.1023 / a: 1009745219419 .
  4. Jörg Sander: Clustering basé sur la densité généralisée pour l'exploration de données spatiale . Herbert Utz Verlag, Munich 1998, ISBN 3-89675-469-6.
  5. Ricardo J. G. B. Campello, Davoud Moulavi, Jov Sander: Regroupement basé sur la densité basé sur des estimations de densité hiérarchiques . Dans: Progrès de la découverte des connaissances et de l'exploration de données . Springer Berlin Heidelberg, Berlin, Heidelberg 2013, ISBN 978-3-642-37455-5, S. 160–172 , est ce que je: 10,1007 / 978-3-642-37456-2_14 ( Springer.com [Consulté le 1er août 2018]).
after-content-x4