K-means-träning
Nu när RDD:n är redo för träning ska du i den här andra delen testa med k-värden från 13 till 16 (för att spara beräkningstid) och använda armbågsmetoden för att välja rätt k. Idén bakom armbågsmetoden är att köra K-means-klustring på datamängden för olika k-värden, beräkna Within Set Sum of Squared Error (WSSSE) och sedan välja det bästa k baserat på det plötsliga fallet i WSSSE – det vill säga där armbågen uppstår. Därefter tränar du om modellen med det bästa k och hämtar slutligen centroiderna (klustercentrumen).
Kom ihåg att du redan har en SparkContext sc och RDD:n rdd_split_int tillgängliga i din arbetsyta.
Den här övningen är en del av kursen
Grunderna i Big Data med PySpark
Övningsinstruktioner
- Träna KMeans-modellen med kluster från 13 till 16 och skriv ut WSSSE för varje kluster.
- Träna KMeans-modellen igen med det bästa k.
- Hämta klustercentrumen (centroiderna) för KMeans-modellen tränad med det bästa k.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____