Začněte nyníZačněte zdarma

Trénování K-means

Teď, když je RDD připraveno k trénování, v této 2. části ho otestujeme s hodnotami k od 13 do 16 (abychom ušetřili čas výpočtu) a pomocí metody lokte vybereme správné k. Princip metody lokte spočívá v tom, že spustíš K-means clustering na datasetu pro různé hodnoty k, vypočítáš Within Set Sum of Squared Error (WSSSE) a vyberéš nejlepší k podle prudkého poklesu WSSSE – tedy tam, kde se nachází „loket". Poté model znovu natrénuješ s nejlepším k a získáš centroidy (středy clusterů).

Nezapomeň, že v tvém workspace jsou už dostupné SparkContext sc a RDD rdd_split_int.

Toto cvičení je součástí kurzu

Big Data Fundamentals with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Natrénuj model KMeans s počtem clusterů od 13 do 16 a pro každý cluster vypiš WSSSE.
  • Natrénuj model KMeans znovu s nejlepším k.
  • Získej středy clusterů (centroidy) modelu KMeans natrénovaného s nejlepším k.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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.____
Upravit a spustit kód