En esta sección, exploraremos el concepto de agrupación en clústeres, una técnica fundamental en el aprendizaje automático no supervisado. A diferencia de la clasificación, donde las etiquetas de los datos son conocidas de antemano, la agrupación en clústeres busca descubrir estructuras y patrones ocultos en los datos. Las técnicas de agrupamiento permiten dividir los datos en grupos o "clústeres" basándose en similitudes inherentes. Esta habilidad para identificar patrones es clave en una variedad de aplicaciones, desde el marketing (segmentación de clientes) hasta la biología (agrupación de especies). A lo largo de esta sección, profundizaremos en los siguientes temas:
La agrupación en clústeres es una técnica de aprendizaje no supervisado que agrupa un conjunto de datos en subconjuntos (clústeres) de tal manera que los datos dentro de cada clúster son más similares entre sí que con los de otros clústeres. A diferencia de la clasificación, en la que los datos están etiquetados, la agrupación se realiza sin conocimiento previo de las categorías, basándose únicamente en la estructura interna de los datos.
El proceso de agrupación implica la definición de una métrica de similitud (como la distancia euclidiana) para evaluar qué tan cerca o lejos están los puntos de datos unos de otros. Los algoritmos de agrupación utilizan esta métrica para organizar los datos en grupos significativos.
La agrupación en clústeres es una herramienta poderosa para descubrir patrones ocultos en conjuntos de datos sin etiquetas. Al profundizar en esta técnica, podrás aplicarla para extraer información valiosa y organizar datos en función de su similitud intrínseca.
K-Means es uno de los algoritmos de agrupación más sencillos y ampliamente utilizados. Su objetivo es dividir los datos en k clústeres, donde k es un número especificado por el usuario. El algoritmo funciona de la siguiente manera:
Ventajas:
Desventajas:
K-Means se utiliza en una variedad de campos, como:
El algoritmo K-Means es una herramienta útil para agrupar datos cuando se conoce el número de clústeres. Sin embargo, es esencial comprender sus limitaciones y asegurarse de que las suposiciones que hace (como la forma esférica de los clústeres) sean adecuadas para el problema específico.
La agrupación jerárquica crea una jerarquía de clústeres que se representan en un dendrograma. Existen dos enfoques principales:
Ventajas:
Desventajas:
La agrupación jerárquica es útil para comprender la estructura interna de los datos y para escenarios donde el número de clústeres no se conoce previamente. Sin embargo, se debe considerar su coste computacional en conjuntos de datos grandes.
DBSCAN es un algoritmo de agrupación basado en densidad que encuentra clústeres de formas arbitrarias. Identifica clústeres en áreas densamente pobladas y clasifica puntos en áreas de baja densidad como "ruido". Los pasos clave del algoritmo son:
Ventajas:
Desventajas:
DBSCAN es especialmente útil para datos con estructuras complejas y ruido. A diferencia de K-Means, puede encontrar clústeres de formas arbitrarias y no requiere conocer el número de clústeres por adelantado, lo que lo hace adecuado para muchos problemas prácticos.
La agrupación basada en modelos asume que los datos son generados por una mezcla de distribuciones subyacentes, como distribuciones gaussianas. Uno de los métodos más comunes es el Modelo de Mezcla Gaussiana (GMM), que utiliza una combinación de varias distribuciones gaussianas para modelar los datos.
Ventajas:
Desventajas:
La agrupación basada en modelos, como los modelos de mezcla gaussiana, ofrece una forma probabilística y flexible de agrupar datos. Su capacidad para asignar probabilidades de pertenencia hace que sea una técnica poderosa, especialmente cuando se necesita una comprensión más detallada de la estructura interna de los datos. Sin embargo, es importante considerar las limitaciones y supuestos del método para aplicarlo correctamente.
Vamos a hacer una experiencia práctica utilizando agrupación en clusters, para agrupar pinguinos según sus características utilizando k-means.
Link al ejercicio: https://microsoftlearning.github.io/AI-900-AIFundamentals/instructions/02c-create-clustering-model.html