Die Funktion ClusterAnalysis.dbscan(X) erwartet folgende (verpflichtende) Argumente:
Argument | Datentyp | Hinweis |
X | Datenfeld | Matrix (Liste von Objekten) |
Es wird das DBSCAN-Verfahren auf den Datensatz X angewandt. Zurückgegeben wird ein Vektor, sodass jedem Objekt (d.h. jeder Zeile der Matrix X) das zugehörige Cluster zugewiesen wird (siehe Beispiel unten).
Zudem können folgende Optionen verwendet werden:
Variable | Datentyp | Hinweis | Default-Wert |
radius | Zahl | positiv | automatisch |
samples | Zahl | ganzzahlig, mindestens 2 | 5 |
weights | Datenfeld | Vektor zur Gewichtung | [1, 1, ..., 1] |
metric | Zeichenkette | manhattan, euclidean, maximum oder cosine | euclidean |
Die Option radius definiert den Radius der Nachbarschaft eines Objekts und ist damit der wichtigste Parameter des DBSCAN-Verfahrens. Wird dieser nicht explizit vorgegeben, wird automatisch ein geeigneter Wert gemäß der Ellenbogenmethode ermittelt. Darüber hinaus definiert samples, wann ein Objekt dicht ist (wenn nämlich mindestens samples Objekte in der Nachbarschaft vorhanden sind).
Zudem können die Gewichte der einzelnen Merkmale der Objekte mittels weights angepasst werden. Die Option metric definiert schließlich die Metrik bzw. das Abstandsmaß, das zum Einsatz kommt.
Anders als beim k-Means-Algorithmus wird die Anzahl der Cluster beim DBSCAN-Verfahren nicht als Argument übergeben. Wie viele Cluster gefunden werden, ergibt sich je nach Wahl der optionalen Parameter.