Die Funktion ClusterAnalysis.kmeans(X, k) erwartet folgende (verpflichtende) Argumente:
Argument | Datentyp | Hinweis |
X | Datenfeld | Matrix (Liste von Objekten) |
k | Zahl | ganzzahlig, mindestens 2 |
Es wird der k-Means-Algorithmus auf den Datensatz X angewandt, wobei k Cluster bestimmt werden. 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 |
maximal_iterations | Zahl | ganzzahlig, positiv | 100 |
runs | Zahl | ganzzahlig, positiv | 10 |
weights | Datenfeld | Vektor zur Gewichtung | [1, 1, ..., 1] |
metric | Zeichenkette | manhattan, euclidean, maximum oder cosine | euclidean |
Optional kann die maximale Anzahl an Iteration durch maximal_iterations sowie die Anzahl der Durchläufe (mit jeweils zufälligen Startwerten) durch runs variiert werden.
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.
Der k-Means-Algorithmus ist nicht deterministisch, d.h., ein wiederholtes Anwenden der Funktion kann bei gleichen Eingabedaten zu unterschiedlichen Ergebnissen führen. Dies liegt daran, dass der Algorithmus ein Ergebnis ausgehend von zufällig gewählten Startwerten bestimmt.