PCA aplicado al conjunto de datos de Iris

Ejemplo práctico en Python que usa PCA para reducir las dimensiones de un conjunto de datos, de 4 características a 2, para facilitar su visualización.

Utilizaremos la biblioteca scikit-learn y los datos de ejemplo del iris para mostrar cómo funciona.

Explicación del código:

  1. Cargar datos:

    • Usamos load_iris para cargar un conjunto de datos predefinido de flores, con 4 características como el largo y ancho de los pétalos y sépalos.
  2. Aplicar PCA:

    • Reducimos las 4 dimensiones originales a solo 2, usando PCA(n_components=2).
  3. Visualizar:

    • Creamos un gráfico de dispersión (scatter plot) para mostrar cómo se agrupan las flores en el nuevo espacio reducido.

Ver en Colab ➜


# Importar bibliotecas necesarias
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris

# Cargar el conjunto de datos de iris
iris = load_iris()
X = iris.data  # Datos (4 características)
y = iris.target  # Etiquetas (3 clases de flores)

# Aplicar PCA para reducir a 2 dimensiones
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# Visualización de los datos transformados
plt.figure(figsize=(8, 6))
for i, target_name in enumerate(iris.target_names):
    plt.scatter(
        X_pca[y == i, 0],  # Componente principal 1
        X_pca[y == i, 1],  # Componente principal 2
        label=target_name
    )

plt.title("PCA aplicado al conjunto de datos de Iris")
plt.xlabel("Componente Principal 1")
plt.ylabel("Componente Principal 2")
plt.legend()
plt.grid()
plt.show()