Projeto de clusterização por K-Means
Aplicação a um conjunto de dados real.
Projeto de clusterização por K-Means é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 3 de 5. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 5 aulas no total.
Projeto de agrupamento com K-Means
Projeto de agrupamento com K-Means
Neste projeto, aplicaremos o agrupamento K-Means a um conjunto de dados do mundo real: a segmentação de clientes. O objetivo é agrupar os clientes com base em seus padrões de gastos.

Visão geral do conjunto de dados
Visão geral do conjunto de dados
O conjunto de dados contém as seguintes colunas:
- ID do cliente: Identificador exclusivo de cada cliente.
- Idade: Idade do cliente.
- Renda anual: Renda anual em milhares de dólares.
- Pontuação de gastos: Pontuação atribuída com base no comportamento e nos padrões de gastos do cliente (1–100).
Etapa 1: Importando o conjunto de dados e as bibliotecas
Etapa 1: Importando o conjunto de dados e as bibliotecas
Começaremos importando as bibliotecas necessárias e carregando o conjunto de dados:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())Etapa 2: Pré-processamento dos dados
Etapa 2: Pré-processamento dos dados
Selecionaremos as características relevantes para o agrupamento e normalizaremos os dados, se necessário. Neste projeto, usaremos Renda anual e Pontuação de gastos:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])Etapa 3: Determinando o número ideal de agrupamentos
Etapa 3: Determinando o número ideal de agrupamentos
Usamos o método do cotovelo para encontrar o número ideal de agrupamentos, fazendo um plot da soma dos quadrados dentro dos agrupamentos (WCSS) para diferentes valores de K:
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()Etapa 4: Aplicando o agrupamento K-Means
Etapa 4: Aplicando o agrupamento K-Means
Com base no método do cotovelo, escolhemos o número ideal de agrupamentos (por exemplo, K=5) e usamos fit no modelo K-Means:
kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)
# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())Etapa 5: Visualizando os agrupamentos
Etapa 5: Visualizando os agrupamentos
Podemos fazer um plot dos agrupamentos em um espaço 2D para observar sua separação:
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()Etapa 6: Interpretando os agrupamentos
Etapa 6: Interpretando os agrupamentos
Cada agrupamento representa um grupo de clientes com padrões de gastos semelhantes. Por exemplo:
- Agrupamento 1: renda alta, gastos altos.
- Agrupamento 2: renda baixa, gastos baixos.
- Agrupamento 3: renda moderada, gastos altos.
Desafios do agrupamento no mundo real
Desafios do agrupamento no mundo real
Embora o agrupamento seja poderoso, as aplicações no mundo real enfrentam desafios como:
- Conjuntos de dados de alta dimensionalidade.
- Dados ruidosos ou incompletos.
- Interpretação significativa dos resultados dos agrupamentos.
Resumo e próximos passos
Resumo e próximos passos
Neste projeto, nós:
- Exploramos um conjunto de dados do mundo real.
- Aplicamos o agrupamento K-Means e visualizamos os resultados.
- Interpretamos os agrupamentos para compreender o comportamento dos clientes.
Em seguida, aprenderemos sobre técnicas de redução da dimensionalidade, como PCA e t-SNE.

Perguntas Frequentes
A aula “Projeto de clusterização por K-Means” é grátis?
Sim — o texto completo de “Projeto de clusterização por K-Means” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 5 aulas no total.
O que vou aprender em “Projeto de clusterização por K-Means”?
Aplicação a um conjunto de dados real. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 5.
Quanto tempo leva a aula “Projeto de clusterização por K-Means”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Introdução aos algoritmos de agrupamento
- Clusterização por K-Means
- Projeto de clusterização por K-Means
- Noções básicas de redução de dimensionalidade
- Aplicação da redução de dimensionalidade