Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

[Projeto] Sobre o PCA

é um conceito que tem uma curva para entender:

PCA não é feature selection
PCA é criação de novas features a partir das originais , com identificação dos elementos mais influeciam.

from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# Carregar dados
iris = load_iris()
X = iris.data

# Padronizar
X_scaled = StandardScaler().fit_transform(X)

# Reduzir de 4 para 2 dimensões
X_pca = PCA(n_components=2).fit_transform(X_scaled)

# Aplicar K-Means nos dados reduzidos
kmeans = KMeans(n_clusters=3, random_state=42)
clusters = kmeans.fit_predict(X_pca)

# Visualizar clusters
plt.figure(figsize=(8,5))
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=clusters)
plt.scatter(
    kmeans.cluster_centers_[:, 0],
    kmeans.cluster_centers_[:, 1],
    marker='X',
    s=200
)
plt.xlabel("PC1")
plt.ylabel("PC2")
plt.title("K-Means após PCA")
plt.show()
2 respostas

Oii Marcelo, tudo bem?

Obrigada por compartilhar isso aqui!

O código ficou bem estruturado: padronização antes do PCA (etapa que muita gente esquece), redução para 2 dimensões para facilitar a visualização, e K-Means aplicado já no espaço reduzido. O marcador X nos centroides deixa o gráfico bem legível.

Se quiser explorar o tema com mais profundidade, tem um artigo e um curso que casam bem com o que você implementou:

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade

Obrigado pelo feedback Victor, o link que você passou do artigo bem útil, valeu demais.