Treinamento K-means
Agora que o RDD está pronto para treinamento, nesta segunda parte, você o testará com k's de 13 a 16 (para economizar tempo de processamento) e usará o método do cotovelo para escolher o k correto. A ideia do método do cotovelo é executar o K-means clustering no conjunto de dados para diferentes valores de k, calcular a Soma de Erros Quadráticos do Conjunto (WSSSE) e selecionar o melhor k com base na queda repentina em WSSSE, ou seja, onde ocorre o cotovelo. Em seguida, você treinará novamente o modelo com o melhor k e, por fim, obterá os centroides (centros de cluster).
Lembre-se de que você já tem um SparkContext sc
e o RDD rdd_split_int
disponíveis em seu espaço de trabalho.
Este exercício faz parte do curso
Fundamentos de Big Data com PySpark
Instruções de exercício
- Treine o modelo KMeans com clusters de 13 a 16 e imprima o WSSSE para cada cluster.
- Treine o modelo KMeans novamente com o melhor k.
- Obtenha os centros de cluster (centroides) do modelo KMeans treinado com o melhor k.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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.____