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

  1. Initialisierung: Zufällige Auswahl von k Centroids.
  2. Zuweisung: Punkte den Centroids nach Nähe zuordnen.
  3. Aktualisierung: Centroids an den Mittelwert ihrer Punkte verschieben.
  4. 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:
    1. k-Means für verschiedene k-Werte durchführen.
    2. Den mittleren quadratischen Abstand der Punkte zu ihrem Centroid berechnen.
    3. Den Abstand gegen k auftragen.
    4. 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.

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.

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.

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.

Frage 5: In welchem Anwendungsbereich könnte man Clustering einsetzen?

a) Kundensegmentierung
b) Vorhersage von Aktienkursen
c) Steuerung einer Ampelanlage
d) Übersetzung von Texten

Frage 6: Welcher der folgenden Algorithmen ist KEIN Clustering-Algorithmus?

a) k-Means
b) DBSCAN
c) Hierarchisches Clustering
d) Support Vector Machines