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

# ==========================================
# 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.

1 respuesta

Hola Gino, espero que estés bien

¡Qué bueno que estás explorando técnicas de aprendizaje no supervisado! Parece que has seguido correctamente los pasos para aplicar PCA y los algoritmos de clustering K-Means y Agrupamiento Jerárquico al conjunto de datos Iris. Aquí tienes algunos puntos que podrías considerar para asegurarte de que todo esté funcionando como esperas:

  1. Reducción de Dimensionalidad con PCA: Has utilizado PCA para reducir las cuatro dimensiones del conjunto de datos Iris a dos componentes principales. Esto es útil para visualizar los datos en un gráfico 2D. Asegúrate de revisar la varianza explicada por cada componente principal con pca.explained_variance_ratio_ para entender cuánto de la información original se conserva.

  2. Clustering con K-Means: Has configurado K-Means para crear tres clusters, lo cual es apropiado ya que el conjunto de datos Iris tiene tres especies de flores. Si los resultados no son los esperados, podrías experimentar con diferentes valores de random_state o n_init para ver cómo afectan los resultados.

  3. Clustering Jerárquico: Este método también se ha configurado para tres clusters. Es interesante comparar los resultados de este método con los de K-Means para ver cómo cada algoritmo agrupa los datos.

  4. Visualización: Las visualizaciones que has creado con PCA son una excelente manera de interpretar los resultados. Asegúrate de que los colores en los gráficos realmente reflejen los clusters generados por los algoritmos.

Si sientes que algo no está funcionando como debería o los resultados no son los que esperabas, podrías intentar ajustar algunos parámetros o revisar los pasos para asegurarte de que todo esté implementado correctamente.

Espero que esta información te sea útil y que disfrutes explorando más sobre estas técnicas. ¡Espero haber ayudado y buenos estudios!