Saltar al contenido
Aprendizaje Automático No Supervisado

Análisis de componentes principales (PCA)

Introducción

PCA: Análisis de Componentes Principales

El Análisis de Componentes Principales (PCA, por sus siglas en inglés)

es una técnica de aprendizaje automático no supervisado utilizada para reducir la dimensionalidad de un conjunto de datos. PCA es una técnica matemática que utiliza la descomposición de valores singulares para proyectar los datos originales a un nuevo espacio de menor dimensión, mientras se mantiene la mayor cantidad posible de información. La reducción de la dimensionalidad es importante porque los datos de alta dimensión pueden ser difíciles de analizar y comprender, y pueden requerir recursos computacionales significativos. PCA permite reducir el número de dimensiones mientras se mantiene la mayor variabilidad posible del conjunto de datos. En resumen, PCA es una herramienta útil en el análisis exploratorio de datos y en la preparación de datos para otras técnicas de aprendizaje automático.

Resumen

El Análisis de Componentes Principales (PCA)

Es una técnica estadística utilizada para reducir la dimensionalidad de un conjunto de datos. La idea es que, cuando trabajamos con un gran número de variables, se vuelva difícil analizar y entender los datos. El PCA busca encontrar nuevas variables que combinen las variables originales de manera que expliquen la mayor cantidad posible de la varianza en los datos. Estas nuevas variables se llaman componentes principales y se seleccionan de manera que capturen la mayor cantidad de información posible de los datos originales. La primera componente principal es la dirección en la que los datos tienen la mayor varianza. La segunda componente principal es la dirección que explica la mayor varianza después de haber sido eliminada la primera componente principal y así sucesivamente. Una vez que los componentes principales han sido identificados, se pueden utilizar para reducir la dimensionalidad del conjunto de datos, eliminando aquellas componentes que tengan menos relevancia. Esto permite que los datos sean más fáciles de visualizar, analizar y entender. El PCA es especialmente útil en la investigación científica, el análisis de datos biológicos, la gestión de riesgos financieros y en la industria de la ingeniería y la manufactura, entre otros campos.

Aplicación teórica

Reducción de la Dimensionalidad de Datos Académicos con PCA

Supongamos que tienes un conjunto de datos que contiene información sobre el rendimiento académico de estudiantes en diferentes asignaturas. Cada estudiante está representado por su calificación en matemáticas, ciencias, lenguaje y historia. Ahora, imagina que quieres resumir toda esta información en un número menor de variables o componentes, para simplificar el análisis. En este caso, PCA puede ayudarte a reducir la dimensionalidad de tus datos.

El análisis de componentes principales utiliza una técnica de transformación lineal para encontrar las combinaciones lineales óptimas de las variables originales, que expliquen la mayor variabilidad posible en los datos. En otras palabras, PCA te permite reducir múltiples variables altamente correlacionadas a un número menor de componentes no correlacionados (llamados vectores propios), que explican la varianza en los datos.

Por ejemplo, después de aplicar PCA a nuestros datos de estudiantes, podríamos encontrar que el primer componente principal explica el 60% de la variabilidad en las calificaciones, y está altamente influenciado por las calificaciones de matemáticas y ciencias. El segundo componente principal puede explicar el 25% de la variabilidad en las calificaciones, y está más influenciado por las calificaciones de lenguaje e historia. Esto nos permite resumir la información de rendimiento académico de los estudiantes en dos componentes principales, que son más fáciles de interpretar y visualizar en gráficos bi-dimensionales, en lugar de tener que trabajar con las cuatro variables originales.

Además, esta reducción de variables puede ayudar a simplificar los análisis posteriores y optimizar los algoritmos de aprendizaje automático no supervisado utilizados.

Aplicación práctica

Ejemplo Práctico de PCA en Python utilizando scikit-learn

A continuación se muestra un ejemplo práctico en Python utilizando la biblioteca scikit-learn para aplicar el algoritmo PCA:


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

# Cargamos el dataset iris
iris = load_iris()
X = iris.data
y = iris.target

# Creamos el objeto PCA y ajustamos los datos
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# Graficamos los datos en los dos componentes principales
fig, ax = plt.subplots()
scatter = ax.scatter(X_pca[:,0], X_pca[:,1], c=y)
legend = ax.legend(*scatter.legend_elements(), title="Clases")
ax.add_artist(legend)
plt.xlabel('Componente Principal 1')
plt.ylabel('Componente Principal 2')
plt.show()

En este ejemplo, estamos cargando el dataset Iris y aplicando el algoritmo PCA para reducir la dimensionalidad de los datos a dos componentes principales. Posteriormente, estamos graficando los datos en estos dos componentes con diferentes colores según la clase a la que pertenezcan. La salida será una gráfica con los datos reducidos a dos dimensiones mediante PCA.