.kmeans

Die Funktion ClusterAnalysis.kmeans(X, k) erwartet folgende (verpflichtende) Argumente:

ArgumentDatentypHinweis
XDatenfeldMatrix (Liste von Objekten)
kZahlganzzahlig, 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:

VariableDatentypHinweisDefault-Wert
maximal_iterationsZahlganzzahlig, positiv100
runsZahlganzzahlig, positiv10
weightsDatenfeldVektor zur Gewichtung[1, 1, ..., 1]
metricZeichenkettemanhattan, euclidean, maximum oder cosineeuclidean

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.

Beispiel
Es werden Daten mit dem ClusteringData-Paket erstellt, welche anschließend unter Verwendung des k-Means-Algorithmus verarbeitet werden. Daten und Ergebnis werden ausgegeben.
Beispiel
Es werden Daten mit dem ClusteringData-Paket erstellt, welche anschließend unter Verwendung des k-Means-Algorithmus verarbeitet werden. Das Ergebnis wird farbig dargestellt.
Beispiel
Im Vergleich zum Beispiel zuvor werden nun insbesondere die beiden Merkmale der Objekte derart gewichtet, dass nur das erste Merkmal berücksichtigt wird.
.elbow