Skip to content

9. Treinamento do Modelo

O treinamento do K-means consiste em agrupar os dados em um número pré-definido de clusters, buscando minimizar a distância entre os pontos e o centro de cada grupo. Como é um método não supervisionado, todo o conjunto de dados é utilizado para identificar padrões e formar os agrupamentos.

A escolha do número de clusters é uma etapa crítica e pode ser feita utilizando o método do cotovelo (elbow method), que analisa a variação da soma dos erros quadráticos (inertia) para diferentes valores de k. O ponto onde a redução do erro começa a diminuir significativamente indica um bom valor para o número de clusters.

# Encontrando o número ideal de clusters (Elbow Method)
wcss = []
X = df_encoded[features]
for k in range(1, 11):
    kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
    kmeans.fit(X)
    wcss.append(kmeans.inertia_)
plt.figure(figsize=(8, 5))
plt.plot(range(1, 11), wcss, marker='o')
plt.xlabel('Número de clusters (K)')
plt.ylabel('WCSS')
plt.title('Método do Cotovelo')
plt.savefig('imagens/elbow_kmeans.png')
plt.show()

# Treinando o modelo K-means com o número de clusters escolhido (exemplo: 2)
k = 2
kmeans = KMeans(n_clusters=k, random_state=42, n_init=10)
clusters = kmeans.fit_predict(X)
df_encoded['cluster'] = clusters
print('Centroides:', kmeans.cluster_centers_)

Modelo K-means treinado com sucesso e clusters atribuídos aos dados.

🤖 O modelo está pronto para análise dos agrupamentos e avaliação por métricas de clusterização.