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!

1
resposta

Faça como eu fiz: aplicando técnicas de aprendizado não supervisionado

import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from scipy.cluster.hierarchy import dendrogram, linkage
import pandas as pd

iris = load_iris()
X = iris.data
y = iris.target
df = pd.DataFrame(X, columns=iris.feature_names)

pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

kmeans = KMeans(n_clusters=3, random_state=42)
clusters = kmeans.fit_predict(X)

plt.figure(figsize=(8,6))
plt.scatter(X_pca[:,0], X_pca[:,1], c=clusters, cmap='viridis', alpha=0.7)
plt.title("Clusters com K-Means (visualização PCA)")
plt.xlabel("Componente Principal 1")
plt.ylabel("Componente Principal 2")
plt.show()

linked = linkage(X, 'ward')
plt.figure(figsize=(10,6))
dendrogram(linked, orientation='top', distance_sort='descending', show_leaf_counts=False)
plt.title("Dendrograma - Hierarchical Clustering")
plt.show()

1 resposta

Olá, Penha! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o K-Means para agrupamento com Python, utilizou muito bem o PCA para reduzir a dimensionalidade e ainda compreendeu a importância do Hierarchical Clustering para análise comparativa dos grupos.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é comparar os resultados dos clusters com os rótulos originais do dataset. Assim:

from sklearn.metrics import adjusted_rand_score

score = adjusted_rand_score(y, clusters)
print("Similaridade entre clusters e rótulos:", score)

Isso faz a avaliação da qualidade do agrupamento em relação às classes reais.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Testar diferentes métodos de linkage: como average ou complete no clustering hierárquico.
  • Explorar métricas de validação interna: como silhouette score para medir a separação entre grupos.
  • Normalizar os dados antes do clustering: evita que variáveis em escalas diferentes influenciem os resultados.

Ah, uma pergunta: você acha mais interessante avaliar os clusters com métricas quantitativas como silhouette ou prefere visualizar os resultados com PCA para interpretar os grupos?

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!