Kom igångKom igång gratis

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

Visa kurs

Ö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.____
Redigera och kör kod