CommencezCommencez gratuitement

Entraînement K-means

Maintenant que le RDD est prêt pour l'entraînement, dans cette 2e partie, vous le testerez avec des k de 13 à 16 (pour économiser du temps de calcul) et vous utiliserez la méthode elbow pour choisir le bon k. Le principe de la méthode du coude consiste à exécuter un regroupement K-means sur l'ensemble de données pour différentes valeurs de k, à calculer la somme des carrés des erreurs à l'intérieur des ensembles (WSSSE), puis à sélectionner le meilleur k en fonction de la chute soudaine du WSSSE, c'est-à-dire là où se situe le coude. Ensuite, vous réentraînerez le modèle avec le meilleur k et, pour terminer, vous obtiendrez les centroïdes (centres de clusters).

Rappelez-vous que vous avez déjà un SparkContext sc et le RDD rdd_split_int dans votre espace de travail.

Cette activité fait partie du cours

Principes de Big Data avec PySpark

Voir le cours

Instructions de l’exercice

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

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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