Clustering ist eine Technik des unüberwachten Lernens, die Ähnlichkeitsstrukturen in ungelabelten Daten findet, ohne vorgegebene Klassenzuordnungen.
- Beim unüberwachten Lernen wird mit ungelabelten Daten arbeitet, im Gegensatz zu überwachtem Lernen.
- Man hat eine Menge von Eingganspunkten
- Ziel des Clustering, Ähnlichkeitsstrukturen (Cluster) in der Datenmengen zu finden
Grundidee des Clusterings
- Punkte innerhalb eines Clusters sind sich ähnlich.
- Punkte in verschiedenen Clustern sind unähnlich.
k-Means Algorithmus
- Initialisierung: Zufällige Auswahl von k Centroids.
- Zuweisung: Punkte den Centroids nach Nähe zuordnen.
- Aktualisierung: Centroids an den Mittelwert ihrer Punkte verschieben.
- Wiederholung: Schritte 2 und 3 wiederholen, bis sich die Centroids nicht mehr ändern.
Bestimmung der Clusteranzahl
- Elbow-Methode: Die optimale Clusteranzahl ist der Punkt, an dem der Graph einen “Knick” zeigt.
Idee
Mittleren Quadratischen Abstand der Datenpuntkte zu ihrem Centroiden berechnen.
- Vorgehen:
- k-Means für verschiedene k-Werte durchführen.
- Den mittleren quadratischen Abstand der Punkte zu ihrem Centroid berechnen.
- Den Abstand gegen k auftragen.
- Der “Knick” im Diagramm zeigt die ideale Clusteranzahl an, da der Abstand ab einem bestimmten Punkt nicht mehr signifikant sinkt.
Anwendungen
- Kundensegmentierung
- Bildsegmentierung
- Anomalieerkennung
Python
k-Means arbeitet mit Abständen → Scaling ist nötig
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_transformed = scaler.fit_transform(X)
k-Means mit dem abgelesenen k
from sklearn.cluster import KMeans
model = KMeans(n_clusters = 5)
model.fit(X_transformed)
labels = model.labels_
Zusammenfassung
Clustering hilft bei der Analyse ungelabelter Daten und der Identifizierung von Ähnlichkeitsstrukturen.
Frage 1: Was ist der Unterschied zwischen Clustering und Klassifikation?
a) Clustering benötigt Trainingsdaten, Klassifikation nicht.
b) Beim Clustering werden Datenpunkte nach Ähnlichkeit gruppiert, bei der Klassifikation werden Datenpunkte vorgegebenen Klassen zugeordnet.
c) Clustering ist ein überwachtes Lernverfahren, Klassifikation ein unüberwachtes Lernverfahren.
d) Es gibt keinen Unterschied.Lösung
b) Beim Clustering werden Datenpunkte nach Ähnlichkeit gruppiert, bei der Klassifikation werden Datenpunkte vorgegebenen Klassen zugeordnet.
Erläuterung: Beim Clustering werden Daten aufgrund ihrer Ähnlichkeiten in Gruppen (Cluster) unterteilt, während bei der Klassifikation die Daten vorab bestimmten Kategorien oder Klassen zugeordnet werden.
Frage 2: Was ist das k beim k-Means Algorithmus?
a) Die maximale Anzahl der Iterationen, bis der Algorithmus abbricht.
b) Ein Faktor, der die Ähnlichkeit zwischen Datenpunkten beeinflusst.
c) Die Anzahl der Clusterzentren (Centroids), die der Algorithmus bilden soll.
d) Die Dimension des Raums, in dem die Datenpunkte dargestellt werden.Lösung
c) Die Anzahl der Clusterzentren (Centroids), die der Algorithmus bilden soll.
Erläuterung: Beim k-Means Algorithmus gibt k die Anzahl der Cluster an, die der Algorithmus bilden soll.
Frage 3: Wofür wird die Elbow-Methode beim Clustering verwendet?
a) Zur Skalierung der Daten, bevor der Clustering-Algorithmus angewendet wird.
b) Zur Berechnung der Abstände zwischen Datenpunkten und Clusterzentren.
c) Zur Abschätzung der optimalen Anzahl von Clustern.
d) Zur Visualisierung der Cluster in einem Diagramm.Lösung
c) Zur Abschätzung der optimalen Anzahl von Clustern.
Erläuterung: Die Elbow-Methode wird verwendet, um die optimale Anzahl von Clustern zu bestimmen, indem der Punkt gesucht wird, an dem der Vorteil zusätzlicher Cluster abnimmt.
Frage 4: Welche Aussage über k-Means Clustering ist FALSCH?
a) k-Means kann mit Datensätzen mit hoher Dimensionalität verwendet werden.
b) k-Means garantiert immer, die global optimale Lösung für das Clustering-Problem zu finden.
c) k-Means ist im Allgemeinen ein schnelles und effizientes Verfahren.
d) Die Initialisierung der Clusterzentren kann das Ergebnis beeinflussen.Lösung
b) k-Means garantiert immer, die global optimale Lösung für das Clustering-Problem zu finden.
Erläuterung: k-Means kann nur lokale optima finden und garantiert nicht die global optimale Lösung, da die Initialisierung der Clusterzentren das Ergebnis beeinflussen kann.
Frage 5: In welchem Anwendungsbereich könnte man Clustering einsetzen?
a) Kundensegmentierung
b) Vorhersage von Aktienkursen
c) Steuerung einer Ampelanlage
d) Übersetzung von TextenLösung
a) Kundensegmentierung
Erläuterung: Clustering kann verwendet werden, um Kunden in Gruppen mit ähnlichem Verhalten zu segmentieren, was beispielsweise für personalisierte Marketingkampagnen nützlich ist.
Frage 6: Welcher der folgenden Algorithmen ist KEIN Clustering-Algorithmus?
a) k-Means
b) DBSCAN
c) Hierarchisches Clustering
d) Support Vector MachinesLösung
d) Support Vector Machines
Erläuterung: Support Vector Machines sind ein Klassifikationsalgorithmus, kein Clustering-Algorithmus. k-Means, DBSCAN und hierarchisches Clustering sind Beispiele für Clustering-Algorithmen.