k-Means-Training
Da der RDD nun bereit für das Training ist, kannst du ihn in diesem zweiten Übungsteil mit k-Werten von 13 bis 16 testen (um Rechenzeit zu sparen) und die „Ellbogenmethode“ anwenden, um das richtige k zu wählen. Das Konzept der Ellbogenmethode besteht darin, k-Means-Clustering mit dem Datensatz für verschiedene k-Werte durchzuführen, die Summe der quadratischen Fehler innerhalb des Datensatzes zu berechnen (WSSSE) und den besten k-Wert basierend auf dem plötzlichen Abfall bei WSSSE zu wählen, also den Punkt, an dem sich der bildliche Ellbogen befindet. Danach trainierst du das Modell mit dem besten k-Wert erneut und ermittelst schließlich die Zentroiden (Clusterzentren).
Zur Erinnerung: Der SparkContext sc
und der RDD rdd_split_int
sind schon im Arbeitsbereich verfügbar.
Diese Übung ist Teil des Kurses
Grundlagen von Big Data mit PySpark
Anleitung zur Übung
- Trainiere das k-Means-Modell mit Clustern von 13 bis 16 und gib jeweils den WSSSE für alle Cluster aus.
- Trainiere das k-Means-Modell erneut mit dem besten k-Wert.
- Rufe die Clusterzentren (Zentroiden) des k-Means-Modells ab, das mit dem besten k-Wert trainiert wurde.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Train the model with clusters from 13 to 16 and compute WSSSE
for clst in range(13, 17):
model = KMeans.____(rdd_split_int, clst, seed=1)
WSSSE = rdd_split_int.____(lambda point: error(point)).reduce(lambda x, y: x + y)
print("The cluster {} has Within Set Sum of Squared Error {}".format(clst, ____))
# Train the model again with the best k
model = KMeans.train(rdd_split_int, k=____, seed=1)
# Get cluster centers
cluster_centers = model.____