Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haga lo que hicimos: Aplicando técnicas de aprendizaje no supervisado

Solución:
import matplotlib.pyplot as plt
import scipy.cluster.hierarchy as sch
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans, AgglomerativeClustering
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA

Cargar el dataset Iris

iris = load_iris()
X = iris.data
y = iris.target

Normalizar los datos

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

==========================

K-Means

==========================

kmeans = KMeans(n_clusters=3, random_state=42)
clusters_kmeans = kmeans.fit_predict(X_scaled)

plt.figure(figsize=(6,4))
plt.scatter(X_scaled[:,0], X_scaled[:,1], c=clusters_kmeans, cmap="viridis")
plt.title("K-Means")
plt.xlabel("Característica 1")
plt.ylabel("Característica 2")
plt.show()

==========================

Dendrograma

==========================

plt.figure(figsize=(8,4))
sch.dendrogram(sch.linkage(X_scaled, method="ward"))
plt.title("Dendrograma")
plt.xlabel("Muestras")
plt.ylabel("Distancia")
plt.show()

Agrupamiento Jerárquico

hc = AgglomerativeClustering(n_clusters=3, metric="euclidean", linkage="ward")
clusters_hc = hc.fit_predict(X_scaled)

plt.figure(figsize=(6,4))
plt.scatter(X_scaled[:,0], X_scaled[:,1], c=clusters_hc, cmap="rainbow")
plt.title("Agrupamiento Jerárquico")
plt.xlabel("Característica 1")
plt.ylabel("Característica 2")
plt.show()

==========================

PCA

==========================

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

plt.figure(figsize=(6,4))
plt.scatter(X_pca[:,0], X_pca[:,1], c=y, cmap="viridis")
plt.title("PCA")
plt.xlabel("Componente Principal 1")
plt.ylabel("Componente Principal 2")
plt.colorbar(label="Especies")
plt.show()

print("Varianza explicada:", pca.explained_variance_ratio_)
print("Varianza total:", pca.explained_variance_ratio_.sum())

Explicación

En esta actividad se utilizaron técnicas de aprendizaje no supervisado para analizar el conjunto de datos Iris, el cual contiene información de tres especies de flores.

Primero, los datos fueron normalizados con StandardScaler para que todas las variables tuvieran la misma escala y evitar que alguna característica influyera más que las demás.

Posteriormente, se aplicó K-Means, configurando tres clusters, ya que el conjunto de datos contiene tres especies. Este algoritmo agrupa automáticamente las observaciones minimizando la distancia entre cada muestra y el centroide de su grupo.

Después se utilizó el Agrupamiento Jerárquico. Inicialmente se generó un dendrograma, que permitió visualizar cómo las observaciones se agrupan de forma progresiva y confirmar que tres grupos representan adecuadamente la estructura de los datos. Luego se aplicó Agglomerative Clustering para obtener dichos grupos.

Finalmente, se empleó PCA (Análisis de Componentes Principales) para reducir las cuatro variables originales a solo dos componentes principales. Esto permitió visualizar los datos de forma sencilla, conservando la mayor parte de la información mediante la varianza explicada.

Conclusión

Las técnicas de K-Means y Agrupamiento Jerárquico permitieron identificar agrupamientos naturales dentro del conjunto de datos Iris, mientras que PCA redujo la dimensionalidad sin perder la mayor parte de la información relevante. Estas herramientas son fundamentales en el aprendizaje no supervisado, ya que facilitan el descubrimiento de patrones ocultos, la exploración de datos y la simplificación de conjuntos de datos complejos para su posterior análisis.

1 respuesta

Hola, George. ¿Cómo vas?

Gracias por compartir tus aprendizajes con la comunidad Alura.

Me gustó tu desarrollo de la actividad y la explicación que acompañó el código. Normalizar los datos antes de aplicar los algoritmos y utilizar PCA para visualizar los resultados demuestra una buena comprensión de cómo estas técnicas se complementan en el aprendizaje no supervisado. También fue una buena decisión utilizar el dendrograma para respaldar la elección del número de grupos.

Sigue explorando este tipo de análisis con otros conjuntos de datos para comparar cómo cambian los agrupamientos y la varianza explicada en PCA. ✨

¡Saludos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!