Was ist eigentlich Clustering?
In diesem Artikel soll es darum gehen, was genau ein Clustering ist und wozu man es gebrauchen kann. Clusteranalysen sind Machine Learning Algorithmen, also Teil dieser ominösen Computermagie, die irgendwie auch was mit künstlicher Intelligenz zu tun hat :D Um zu zeigen wie wenig magisch und dafür wunderbar logisch, Machine Learning im allgemeinen und Clusteranalysen
Was ist überhaupt Clustering?
Ein Cluster bezeichnet eine Gruppe von Objekten oder Datenpunkten, mit ähnlichen Eigenschaften. Sucht man also nach natürlichen Gruppen, innerhalb einer Datenmenge, kann eine Clusteranalyse weiterhelfen. Hierfür wählt man, je nach Beschaffenheit der Daten, einen passenden Clustering Algorithmus aus. Der Algorithmus kann Gruppen, sogenannte Cluster, innerhalb der Daten finden. Das Ergebnis, also die Gruppierten Daten, bezeichnet man als Clustering. Die Zugehörigkeit eines Datenpunktes zu einem Cluster wird dabei so gewählt, dass Objekte innerhalb eines Clusters sich möglichst ähnlich sind und sich gleichzeitig von Datenpunkten anderer Cluster unterscheiden. Passt ein Datenpunkt in kein bestehendes Cluster da er sich stark von den anderen unterscheidet, bezeichnet man ihn als „Noise“, oder als Ausreiser.
Wozu kann man Clustering gebrauchen?
Soweit erstmal die Basics, aber wozu kann man Clustering gebrauchen? In den meisten Fällen, wird Clustering für die explorative Erkenntnisgewinnung aus Datensätzen genutzt. Im Data Science Lingo würde man sagen: Die Knowledge-Discovery-in-Databases (KDD) während des Data Minings. Also auf Deutsch: Erkenntnisgewinn als Grundlage für weitere Analyseverfahren 😀 Clusteranalysen sind dabei als iterative Verfahren zu verstehen, aus denen man über die Datenlage lernt und dieses Wissen wiederum beim Clustering Verfahren berücksichtigen kann. Zudem werden die Erkenntnisse aus dem Clustering in den meisten Fällen als Grundlage für weitere Verfahren genutzt. So werden die, durch das Clustering identifizierten Gruppen, vor allem zur Marktsegmentierung, zur automatisierten Klassifizierung, der Erkennung von Mustern aber auch vielen weiteren Verfahren verwendet.
Clustering und Segmentierung, was ist der Unterschied?
Da der Begriff Clustering auch oft mit der Gruppenbildung oder Marktsegmentierung gleichgesetzt wird, hier ein kleiner Einschub: Clustering unterscheidet sich grundlegend vom Konzept der Segmentierung. Eine Clusteranalyse identifiziert ähnliche Gruppen in einem Datensatz. Im Gegensatz dazu, wird bei der Segmentierung, die Grundgesamtheit aufgrund von bestimmten Eigenschaften aufgeteilt. In vielen Fällen, werden besonders Marktsegmentierungen mit Hilfe von Clustering Ergebnissen optimiert. Clusteranalysen sind zwar das deutlich mächtigere Verfahren, dienen allerdings in den meisten Fällen dem Erkenntnisgewinn und nur indirekt der Marktsegmentierung. Weitere Anwendungsfälle Über die klassische Anwendung zum Erkenntnisgewinn hinaus, werden Cluster aber auch in anderen Fällen genutzt. Netflix zum Beispiel Clustert zum einen Filme und Serien in Kategorien, zum anderen auch Nutzer in Taste-Communities. Clustering kann außerdem zur Identifikation von Fake News oder Spam-Mails genutzt werden und sogar Cyber-Profiling von kriminellen, oder Verbrechensvorhersagen können mit Clusteranalysen durchgeführt werden. Diese sehr beliebig gewählten Beispiele, verdeutlichen wie breit das Anwendungsgebiet ist. Insgesamt, sind die möglichen Anwendungsfälle für Clustering, sowie Machine Learning im allgemeinen noch lange nicht erschlossen. Ich denke wir werden noch einiges von Clustering hören in den nächsten Jahren.
Wie Funktioniert Clustering genau?
Das kann ich leider in diesem Artikel nicht beantworten 😀 Es gibt zahlreiche Clustering Algorithmen die jeweils ihre eigene Methodik, sowie Stärken und Schwächen haben. Es gibt drei Grundlegende Konzepte für Clusteranalysen, die ich hier kurz vorstellen will. Um Clustering im Allgemeinen zu verstehen, muss man zunächst das Konzept eines n-dimensionalen Raumes verstehen. Ein Datenpunkt kann beliebig viele Eigenschaften haben, wenn er also für eine Person steht, könnten wir ihm zum Beispiel die Eigenschaft „Größe“ geben. Wir können nun alle unsere Datenpunkte auf einer Achse verorten: Würden wir jetzt zu den Datenpunkten noch die Eigenschaft „Gewicht“ hinzufügen könnten wir die Daten auf 2 Achsen darstellen: Jetzt wird klar, warum man von n-dimensionalen Räumen spricht. Für n Eigenschaften unserer Daten, benötigen wir n Achsen, um diese Daten darzustellen. Gewappnet mit diesem Wissen, nun weiter zu den wichtigsten Clustering Konzepten:
Density Based Clustering
Die Datenpunkte werden als Objekte in einem n-dimensionalen Raum betrachtet, dichte Räume werden Cluster und weniger dichte Räume werden Zwischenräume. Bsp.: DBSCAN
Hierarchical Clustering
Jeder Datenpunkt wird zunächst zu einem eigenen Cluster. Anschließend, werden die beiden Cluster mit dem geringsten Abstand zu einem Cluster zusammengefügt. Diese Prozess wiederholt sich bis alle Datenpunkte in einem einzigen Cluster sind. Als Ergebnis hat man nun viele verschiedene Clusterings, aus denen man mit Hilfe bestimmter Methoden das beste Clustering aussucht. Andersherum gibt es auch Methoden, die von einem einzigen Cluster aus starten und das Cluster immer wieder aufspalten, bis es nicht mehr geht. Das Prinzip ist bleibt aber das Selbe. Bsp: Single Linkage, DIANA
Partitional Clustering
Partitionierende Algorithmen gehen so vor, dass sie den n-dimensionalen Raum partitionieren. Jeder Datenpunkt, der in derselben Partition ist, wird dem Selben Cluster zugeordnet. Die optimale Partitionierung wird in einem iterativen Prozess bestimmt, bei dem Clusterzentren der Daten in einer Partition errechnet werden und sich daraufhin die Partitionierung verschiebt. Daraufhin können wieder neue Clusterzentren errechnet werden. Bsp: K-Means
Das könnte Dich auch interessieren
Halunken-Tag: Inhalte auf Webseiten – anpassen und ausprobieren
Immer wieder werden neue Webseiten, Landingpage und ähnliche Seiten geplant, konzipiert, designet und umgesetzt. Dabei spielen die richtigen Inhalte eine wicht...
git in and git more…
Code School hat ein paar interaktive Tutorials zu Git herausgebracht, alle samt kostenlos. Sehr gut um wieder rein zu kommen oder mehr darüber zu lernen: https...
In 4 Schritten zum erfolgreichen Projekt
Viele große Projekte starten mit einer einfachen Idee. Die Idee wird auf ihre Einzigartigkeit und Umsetzbarkeit geprüft und eventuell umgesetzt. Was ist bei d...