ÎncepețiÎncepe gratuit

Antrenarea K-means

Acum că RDD-ul este pregătit pentru antrenare, în această a 2-a parte vei testa cu valori k de la 13 la 16 (pentru a reduce timpul de calcul) și vei folosi metoda cotului pentru a alege valoarea k potrivită. Ideea metodei cotului este să rulezi clustering K-means pe setul de date pentru diferite valori k, să calculezi Suma Pătratelor Erorilor în Cadrul Setului (WSSSE) și să selectezi cel mai bun k pe baza scăderii bruște a WSSSE — adică acolo unde apare „cotul". Apoi, vei reantrena modelul cu cel mai bun k și vei obține centroizii (centrele de cluster).

Reține că ai deja un SparkContext sc și RDD-ul rdd_split_int disponibile în spațiul tău de lucru.

Acest exercițiu face parte din cursul

Fundamentele Big Data cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Antrenează modelul KMeans cu clustere de la 13 la 16 și afișează WSSSE pentru fiecare cluster.
  • Antrenează din nou modelul KMeans cu cel mai bun k.
  • Obține Centrele de Cluster (centroizii) ale modelului KMeans antrenat cu cel mai bun k.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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.____
Editează și rulează codul