Introdução
Neste laboratório, exploraremos a clusterização, uma técnica popular de aprendizado de máquina não supervisionado. A clusterização é usada para agrupar pontos de dados semelhantes com base em suas características ou atributos, sem a necessidade de dados de treinamento rotulados. Existem vários algoritmos de clusterização disponíveis, cada um com seus próprios pontos fortes e fracos. Neste laboratório, focaremos no algoritmo de clusterização k-means.
Dicas da Máquina Virtual
Após o término da inicialização da máquina virtual, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação de operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos o problema para você prontamente.
Importar as Bibliotecas Necessárias
Antes de começarmos, vamos importar as bibliotecas necessárias para este laboratório.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
Gerar Dados de Amostra
Em seguida, vamos gerar alguns dados de amostra para trabalhar. Usaremos a função make_blobs do módulo sklearn.datasets para criar um conjunto de dados sintético com clusters.
## Gerar dados de amostra
X, y = make_blobs(n_samples=100, centers=4, random_state=0, cluster_std=1.0)
Visualizar os Dados
Vamos visualizar os dados gerados usando um gráfico de dispersão.
## Plotar os pontos de dados
plt.scatter(X[:, 0], X[:, 1])
plt.xlabel('Característica 1')
plt.ylabel('Característica 2')
plt.show()
Executar Agrupamento K-Means
Agora, vamos aplicar o algoritmo de agrupamento k-means aos dados.
## Executar agrupamento K-Means
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
Visualizar os Clusters
Vamos visualizar os clusters formados pelo algoritmo k-means.
## Obter as etiquetas dos clusters para cada ponto de dados
labels = kmeans.labels_
## Plotar os pontos de dados com clusters codificados por cores
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.xlabel('Característica 1')
plt.ylabel('Característica 2')
plt.show()
Avaliar o Agrupamento
Para avaliar os resultados do agrupamento, podemos calcular a inércia dos clusters, que representa a soma dos quadrados das distâncias das amostras aos seus centros de cluster mais próximos.
## Calcular a inércia dos clusters
inertia = kmeans.inertia_
print("Inércia:", inertia)
Resumo
Neste laboratório, explorámos o algoritmo de agrupamento k-means. Gerámos um conjunto de dados sintético, realizámos o agrupamento k-means nos dados e visualizámos os clusters resultantes. Também calculamos a inércia dos clusters como uma medida do desempenho do agrupamento. O agrupamento é uma técnica poderosa para encontrar estrutura em dados não rotulados e pode ser aplicada a vários domínios e tipos de dados.