Contenido del curso
Modelo Predictivo
Tipos de Aprendizaje
Herramientas para IA
Ciclo de Vida ML
Ética en IA
PCA para reducir variables en clustering
Resumen
Cuando una base de datos pasa de tres columnas a cientos, miles o incluso millones de variables, analizarla se vuelve inviable. Aquí entra la reducción de la dimensionalidad, una técnica de machine learning que proyecta datos complejos en menos dimensiones sin perder lo esencial, ideal para quienes trabajan con clustering, segmentación o modelos predictivos.
Piensa en tomar la foto de un objeto 3D desde el ángulo perfecto para capturar lo más importante en 2D. Esa es la idea: conservar la mayor cantidad de información posible con menos variables.
¿Qué es PCA y cómo funciona el análisis de componentes principales?
La técnica más usada para reducir dimensiones es PCA, Principal Component Analysis o análisis de componentes principales [01:00]. Lo que hace es encontrar las direcciones donde existe mayor variación en los datos, como si observaras una nube desde distintos puntos y eligieras la vista donde más cosas están sucediendo.
¿Qué es PCA? Es una técnica que transforma muchas variables en un grupo más pequeño de componentes que conservan la mayor parte de la información original. Si tenías 20 variables, PCA puede resumirlas en 2 o 3 sin perder lo importante.
¿Por qué conviene reducir dimensiones en un proyecto de datos?
Los beneficios son concretos y se notan en el rendimiento del modelo:
- Permite visualizar datos complejos en 2D o 3D.
- Elimina ruido y mejora el desempeño de otros algoritmos.
- Ahorra espacio y acelera procesos cuando se requiere mucha capacidad de cómputo.
Netflix usa estas técnicas para agrupar películas y usuarios sin procesar cada uno como elemento único [01:30]. Amazon hace algo parecido para entender tus gustos y recomendarte productos sin que se lo digas. En medicina, el clustering combinado con reducción de dimensionalidad ha permitido descubrir tipos de cáncer con comportamientos biológicos distintos que en el diagnóstico tradicional parecían iguales [01:50]. También se aplica en redes sociales para detectar comunidades con intereses similares.
¿Cómo aplicar PCA en Python paso a paso?
El flujo en código empieza por crear una variable pca que reciba como parámetro el número de componentes [02:30]. En este caso se inicializa en dos.
python pca = PCA(n_components=2)
Ese 2 indica que tomaremos los dos componentes principales para ver cuánta varianza explican, es decir, qué tanto de la distribución de la información se resume en solo dos variables transformadas.
Después se imprime el ratio de varianza explicada y se grafica el resultado en 2D para comprobar que, aun reduciendo dimensiones, los clústers siguen siendo distinguibles.
¿Cuánta varianza explican los componentes principales?
En este ejercicio, el primer componente explicó 81% de la información y el segundo 10%. En conjunto, dos variables transformadas representan el 91% de los datos originales [03:30].
¿Cuánta varianza debe explicar PCA para ser confiable? Como regla general, arriba de 80% es buena señal. No hay número mágico: depende de qué tan sensible sea tu problema. Para segmentar clientes por gustos, 91% es más que suficiente.
Si se prueba con tres componentes, el tercero aporta apenas un 8% adicional. Y aquí viene lo interesante: tener tres componentes para tres variables originales no tiene sentido, mejor quedarse con los datos iniciales. La técnica gana valor cuando manejas 10, 15, 20 variables o más.
¿Cómo predecir el clúster de un cliente nuevo con K Means?
Una vez entrenado el modelo, puedes meter datos nuevos para ver en qué grupo los clasifica. Imagina un cliente con estas características:
- 35 años de edad.
- 50,000 de ingresos.
- 10 compras realizadas.
Esa información se guarda en un array y, como el modelo se entrenó con datos normalizados, los datos nuevos también deben normalizarse antes de pasarlos al predictor [04:50].
python nuevo_cliente = [[35, 50000, 10]] nuevo_cliente_normalizado = scaler.transform(nuevo_cliente) kmeans.predict(nuevo_cliente_normalizado)
El resultado indica que ese cliente pertenece al clúster cero. Si cambias los valores, por ejemplo un cliente de 60 años, 10,000 de ingresos y 2 compras, también puede caer en el mismo clúster por la combinación de edad, ingresos y comportamiento de compra que mejor se ajusta [05:50].
¿Por qué dos clientes muy diferentes caen en el mismo clúster? Porque K Means agrupa por la combinación general de variables normalizadas, no por una sola característica. La distancia al centroide del grupo manda sobre cualquier valor individual.
Prueba con distintos perfiles y observa cómo el modelo los reubica. ¿Qué representan los clústers que encuentras? ¿Qué decisiones de negocio tomarías con esa información? Déjame tu respuesta en los comentarios.