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!

0
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()