CommencerCommencer gratuitement

Entraînement K-means

Maintenant que le RDD est prêt pour l'entraînement, dans cette deuxième partie, vous allez le tester avec des k compris entre 13 et 16 (pour économiser du temps de calcul) et utiliser la méthode du coude pour choisir le k correct. L'idée de la méthode du coude est d'exécuter le clustering K-means sur l'ensemble de données pour différentes valeurs de k, de calculer la somme des erreurs quadratiques dans l'ensemble (WSSSE) et de sélectionner le meilleur k sur la base de la chute soudaine de WSSSE, c'est-à-dire à l'endroit où le coude se produit. Ensuite, vous entraînerez à nouveau le modèle avec le meilleur k et, enfin, vous obtiendrez les centroïdes (centres des clusters).

Rappelez-vous qu’un SparkContext sc et un RDD rdd_split_int se trouvent déjà dans votre espace de travail.

Cet exercice fait partie du cours

Principes fondamentaux des mégadonnées avec PySpark

Afficher le cours

Instructions

  • Entraînez le modèle K-means avec des clusters de 13 à 16 et affichez la WSSSE pour chaque cluster.
  • Entraînez à nouveau le modèle K-means avec le meilleur k.
  • Obtenez les centres de cluster (centroïdes) du modèle K-means entraîné avec le meilleur k.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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.____
Modifier et exécuter le code