# ==========================================
# Clustering y Reducción de Dimensionalidad
# Dataset Iris
# ==========================================
# Importar librerías
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans, AgglomerativeClustering
from sklearn.decomposition import PCA
# ==========================================
# 1. Cargar el dataset
# ==========================================
iris = load_iris()
X = iris.data
df = pd.DataFrame(X, columns=iris.feature_names)
print("Primeras filas del dataset:")
display(df.head())
# ==========================================
# 2. Aplicar PCA
# ==========================================
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
print("Varianza explicada:")
print(pca.explained_variance_ratio_)
# ==========================================
# 3. Clustering K-Means
# ==========================================
kmeans = KMeans(
n_clusters=3,
random_state=42,
n_init=10
)
kmeans.fit(X)
df["KMeans"] = kmeans.labels_
# ==========================================
# 4. Clustering Jerárquico
# ==========================================
jerarquico = AgglomerativeClustering(
n_clusters=3
)
df["Jerarquico"] = jerarquico.fit_predict(X)
# ==========================================
# 5. Visualización PCA + KMeans
# ==========================================
plt.figure(figsize=(8,6))
plt.scatter(
X_pca[:,0],
X_pca[:,1],
c=df["KMeans"],
cmap="viridis"
)
plt.title("K-Means con PCA")
plt.xlabel("Componente Principal 1")
plt.ylabel("Componente Principal 2")
plt.show()
# ==========================================
# 6. Visualización PCA + Jerárquico
# ==========================================
plt.figure(figsize=(8,6))
plt.scatter(
X_pca[:,0],
X_pca[:,1],
c=df["Jerarquico"],
cmap="plasma"
)
plt.title("Agrupamiento Jerárquico con PCA")
plt.xlabel("Componente Principal 1")
plt.ylabel("Componente Principal 2")
plt.show()
En esta actividad se aplicaron técnicas de aprendizaje no supervisado al conjunto de datos Iris. Primero se utilizó PCA para reducir la dimensionalidad de cuatro variables a dos componentes principales, lo que permitió visualizar los datos de manera más sencilla conservando la mayor parte de la información. Posteriormente se aplicaron los algoritmos K-Means y Agrupamiento Jerárquico, ambos con tres grupos, obteniendo una segmentación similar a las tres especies de flores presentes en el conjunto de datos. Esta práctica permitió comprobar cómo las técnicas de clustering identifican patrones naturales en los datos sin utilizar etiquetas y cómo PCA facilita la interpretación visual de esos agrupamientos.