📊 Clustering no Scikit-Learn¶
O clustering é uma técnica de aprendizado não supervisionado, usada para agrupar dados similares sem rótulos predefinidos.
No Scikit-Learn, temos vários algoritmos populares de clustering, incluindo:
- K-Means
- Agglomerative (Hierárquico)
- DBSCAN
- Mean Shift
Este guia cobre os conceitos, fórmulas e exemplos práticos de cada técnica.
🔹 K-Means Clustering¶
O que é?¶
K-Means busca dividir os dados em K clusters, minimizando a distância intra-cluster.
Cada cluster é representado pelo centroide (média dos pontos do cluster).
Fórmula¶
\text{SSE} = \sum_{i=1}^{K} \sum_{x \in C_i} \| x - \mu_i \|^2
Onde:
- \(\\K$ = número de clusters
- $\\C_i\) = cluster \(i\)
- \(\mu_i$ = centroide do cluster \(i\)
- $\\| x - \mu_i \|^2\) = distância quadrática entre o ponto \(x\) e o centroide
Exemplo em Python¶
from sklearn.cluster import KMeans
import numpy as np
# Dados de exemplo
X = np.array([[1, 2], [1, 4], [1, 0],
[4, 2], [4, 4], [4, 0]])
kmeans = KMeans(n_clusters=2, random_state=42)
kmeans.fit(X)
print("Centroides:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)
Step By Step ( Iteration )¶
Final Result¶
Documentação criada por Tiago Bittencourt (@TiagoSBittencourt)