IniziaInizia gratis

Addestramento K-means

Ora che l'RDD è pronto per l'addestramento, in questa seconda parte lo testerai con valori di k da 13 a 16 (per risparmiare tempo di calcolo) e userai il metodo elbow per scegliere il k corretto. L'idea dell'elbow method è eseguire il clustering K-means sull'insieme di dati per diversi valori di k, calcolare la Within Set Sum of Squared Error (WSSSE) e selezionare il k migliore in base al calo improvviso della WSSSE, cioè dove si forma il “gomito”. Poi riaddestrerai il modello con il k migliore e, infine, otterrai i centroidi (centri dei cluster).

Ricorda: nel tuo workspace hai già a disposizione uno SparkContext sc e l'RDD rdd_split_int.

Questo esercizio fa parte del corso

Fondamenti di Big Data con PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Addestra il modello KMeans con un numero di cluster da 13 a 16 e stampa la WSSSE per ciascun cluster.
  • Addestra di nuovo il modello KMeans con il k migliore.
  • Ottieni i centri dei cluster (centroidi) del modello KMeans addestrato con il k migliore.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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.____
Modifica ed esegui il codice