Determine o número ideal de clusters
Aqui, você vai usar o método do cotovelo (elbow criterion) para identificar o número ideal de clusters, onde a redução da soma dos erros ao quadrado passa a ser marginal. Essa é uma etapa importante para obter um valor inicial, matematicamente razoável, de clusters para começar os testes. Você vai iterar por vários valores de k e executar um algoritmo KMeans para cada um, depois traçar os erros em função de cada k para identificar o “cotovelo”, onde a queda dos erros desacelera.
O módulo KMeans está carregado de sklearn.cluster, a biblioteca seaborn está carregada como sns e o módulo matplotlib.pyplot está carregado como plt. Além disso, o conjunto de dados escalonado está carregado como wholesale_scaled_df, um DataFrame do pandas.
Este exercício faz parte do curso
Machine Learning para Marketing em Python
Instruções do exercício
- Crie um dicionário
ssevazio. - Treine um algoritmo
KMeanspara valores de k entre 1 e 11 e armazene os erros no dicionáriosse. - Adicione o título ao gráfico.
- Crie um gráfico de dispersão com as chaves no eixo X e os valores no eixo Y e exiba o gráfico.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Create empty sse dictionary
sse = {}
# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
kmeans = ___(n_clusters=___, random_state=333)
kmeans.___(wholesale_scaled_df)
sse[k] = kmeans.inertia_
# Add the title to the plot
plt.___('Elbow criterion method chart')
# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()