23.07.2026Auf dieser Seite geht es um eine weitere Data-Science-Technik, den k-Means-Clustering-Algorithmus. Während ein Klassifikator wie der k-nächste-Nachbarn-Algorithmus sauber gelabelte Beispiele erhält und lernt, neue in diese Klassen einzuordnen, bekommt das Clustering überhaupt keine Labels. Seine Aufgabe ist es, eine schlichte Punktwolke zu betrachten und ganz von selbst zu entdecken, welche Punkte von Natur aus zusammengehören.
Die Punkte oben sind Pinguine — ein Punkt pro Vogel — vermessen an zwei Merkmalen ihres Schnabels: seiner Länge entlang des oberen Kamms, dem Culmen, und seiner Tiefe. Genau in dieser Lage befindet sich k-Means: eine Streuung von Messwerten, denen die Labels entzogen wurden. Kneift man die Augen zusammen, erahnt man bereits ein paar lose Gruppen; die Aufgabe des Algorithmus ist es, diese Ahnung in ein klares Urteil zu verwandeln.
Bevor k-Means Gruppen finden kann, muss ihm gesagt werden, nach wie vielen es suchen soll. Diese Zahl ist der Parameter k, und hier haben wir ihn auf fünf gesetzt. Das ist der erste und wichtigste Unterschied zwischen k-Means und den k-nächsten Nachbarn: Bei kNN zählt das k, wie viele Nachbarn über einen einzelnen neuen Punkt abstimmen dürfen, während es bei k-Means festlegt, in wie viele Cluster der gesamte Datensatz zerlegt wird. Der Algorithmus beginnt damit, k Markierungen — die schwarzen Kreuze, Zentroide genannt — auf fünf zufällig gewählte Pinguine zu setzen, und färbt dann jeden Punkt in der Farbe des jeweils nächsten Zentroids. Das Ergebnis ist eine erste, grobe Aufteilung, die ganz davon abhängt, wo diese Fahnen zufällig gelandet sind.
Ein zufälliger Start ist selten ein guter, deshalb verbessert k-Means ihn, indem es zwei einfache Schritte wiederholt. Zuerst rückt jeder Zentroid an die durchschnittliche Position — den Mittelwert — aller Punkte, die gerade seine Farbe tragen; das ist das „Means“ in k-Means. Dann bestimmt der Algorithmus die neue Cluster-Zugehörigkeit, indem er allein das nächstgelegene Zentrum als Maßstab wählt. Klicken Sie auf Play, um zuzusehen, wie die Kreuze von ihren zufälligen Startpunkten wandern und sich im Herzen jeder Gruppe niederlassen, wobei sich die Farben mit ihnen verschieben, bis sich nichts mehr ändert. Dieses Tauziehen zwischen Punkten und Zentren ist als Lloyd-Algorithmus bekannt. Anders als kNN — das nie wirklich trainiert, sondern die Daten einfach auswendig lernt und Fragen bei Bedarf beantwortet — arbeitet sich k-Means iterativ zu einer Lösung vor. Klicken Sie erneut auf Play, und der Zufallsstart wird neu gemischt — eine Erinnerung daran, dass die endgültigen Gruppen davon abhängen können, wo man begonnen hat.
Alles hier ist identisch mit dem Panel oben, bis auf eine einzige Änderung: k ist nun drei statt fünf. Da k etwas ist, das wir wählen, und nicht etwas, das der Algorithmus entdeckt, liegt die Wahl ganz bei uns, und sie verändert das Ergebnis vollständig. Mit weniger Fahnen zur Verfügung werden dieselben Pinguine in breitere, gröbere Gruppen zusammengefasst. Es gibt keinen allgemeingültig richtigen Wert — setzt man k zu klein, müssen sich wirklich verschiedene Gruppen eine Farbe teilen, setzt man es zu groß, wird eine einzelne natürliche Gruppe in zwei geteilt. Das spiegelt die Gratwanderung wider, die wir bei k in kNN kennengelernt haben, wo zu wenige Nachbarn sich dem Rauschen anpassen und zu viele die Details verwischen. In beiden Algorithmen ist der schlichte Buchstabe k der Regler, der Schärfe gegen Stabilität abwägt.
Nichts zwingt uns, nach denselben zwei Messwerten zu clustern. Hier behalten wir die Schnabellänge auf der unteren Achse bei, tauschen aber die senkrechte Achse gegen die Flossenlänge, und die Gruppen ordnen sich entsprechend neu — eine Erinnerung daran, dass Clustering immer nur die Merkmale kennt, die man ihm gibt. Außerdem haben wir die Ansicht auf Flossenlängen zwischen 170 und 235 mm beschränkt und, ganz entscheidend, jeden Pinguin außerhalb dieses Bandes vollständig verworfen. Da jeder Zentroid ein Mittelwert ist, kann ein einziger völlig fehlplatzierter Punkt ein ganzes Cluster zu sich hinziehen.
Bisher hat jedes Diagramm nur zwei Messwerte auf einmal gezeigt, doch nichts hindert uns daran, nach mehr zu clustern. Hier ist dieselbe ungeclusterte graue Pinguinwolke, mit der wir begonnen haben, nun über alle drei Merkmale verteilt, die die Seite verwendet hat: Schnabellänge, Schnabelhöhe und Flossenlänge zusammen, in einem Würfel, den Sie durch Ziehen mit dem Cursor drehen können.
Nun lassen wir k-Means auf denselben Würfel los. Das ist genau das Diagramm von vorhin — der Lloyd-Algorithmus mit k gleich drei — nur wandern die Zentroide jetzt durch drei Dimensionen statt durch zwei, und der Test auf das nächste Zentrum wird durch den Raum hindurch gemessen, nicht über eine flache Ebene. Klicken Sie auf Play und sehen Sie zu, wie die drei Kreuze von ihren zufälligen Startpunkten ins Herz jeder Gruppe driften, wobei sich die Farben unterwegs festlegen; klicken Sie erneut auf Play für einen neuen Zufallsstart. Beachten Sie, dass wir nicht immer dieselben drei Cluster genau identifizieren. Ein weiterer bedenkenswerter Punkt ist, dass wir hier zwar nicht ohne Weiteres mehr als drei Dimensionen darstellen können, man algorithmisch aber nach weit mehr als nur drei Dimensionen clustern kann.
Vielen Dank an die Bereitsteller des Datensatzes, den Sie hier auf Kaggle finden. Das Claude Opus LLM hat bei der Erstellung dieser Seite geholfen. Weitere Algorithmen und Datenstrukturen finden sich auf der Hauptseite.
Bitte teilt diese Seite auf Social Media!