ComenzarEmpieza gratis

Entrenamiento con k-medias

Ahora que el RDD está listo para el entrenamiento, en esta 2.ª parte lo probarás con los valores k de 13 a 16 (para ahorrar tiempo de cálculo) y utilizarás el método del codo para elegir el valor k correcto. La idea del método del codo es ejecutar k-medias en el conjunto de datos para distintos valores de k, calcular la suma del error cuadrático dentro de un conjunto (WSSSE) y seleccionar el mejor valor k en función de la disminución repentina de WSSSE, es decir, el lugar en el que está el codo. A continuación, volverás a entrenar el modelo con el mejor valor k y, por último, obtendrás los centroides (centros del grupo).

Recuerda que ya tienes sc de SparkContext y el RDD rdd_split_int disponibles en tu espacio de trabajo.

Este ejercicio forma parte del curso

Fundamentos de big data con PySpark

Ver curso

Instrucciones de ejercicio

  • Entrena el modelo KMeans con grupos de 13 a 16 e imprime WSSSE para cada grupo.
  • Entrena de nuevo el modelo KMeans con el mejor valor k.
  • Obtén los centros del grupo (centroides) del modelo KMeans entrenado con el mejor valor k.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# 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.____
Editar y ejecutar código