Inicio Temas Agrupación en clústeres ¿Qué es la agrupación en clústeres?
Buscar clústeres de datos con watsonx.ai Regístrese para recibir actualizaciones sobre IA
Clústeres de puntos de datos
¿Qué es la agrupación en clústeres?

La agrupación en clústeres, es un algoritmo de machine learning no supervisado que organiza y clasifica diferentes objetos, puntos de datos u observaciones en grupos o clusters basados en similitudes o patrones. Hay varias formas de usar la agrupación en clústeres en el machine learning, desde las exploraciones iniciales de un conjunto de datos hasta el monitoreo de los procesos en curso. Puede usarlo en el análisis de datos exploratorios con un nuevo conjunto de datos para comprender las tendencias, los patrones y los valores atípicos subyacentes. Como alternativa, puede tener un conjunto de datos más grande que deba dividirse en varios conjuntos de datos o reducirse mediante la reducción de dimensionalidad. En estos casos, la agrupación en clústeres puede ser un paso en el preprocesamiento. Los ejemplos de clústeres pueden incluir géneros musicales, diferentes grupos de usuarios, segmentos clave de una segmentación de mercado, tipos de tráfico de red en un clúster de servidores, grupos de amigos en una red social o muchos otros tipos de categorías. El proceso de agrupación en clústeres puede usar solo una característica de los datos o puede usar todas las características presentes en los datos.

Resulta útil pensar en el agrupamiento en clústeres como un intento de encontrar agrupaciones naturales en los datos para ver qué categorías pueden existir y qué define esas categorías. Los clústeres pueden ayudarle a encontrar relaciones subyacentes entre puntos de datos para ver qué características o rasgos se comparten entre las categorías. En función del algoritmo de agrupación en clústeres utilizado, es posible que pueda eliminar los valores atípicos de los datos o etiquetarlos como valores atípicos. El agrupamiento en clústeres también puede ayudar en la detección de anomalías al identificar qué puntos de datos no están contenidos dentro de un clúster o solo están débilmente asociados con un clúster y, por lo tanto, pueden ser una anomalía en el proceso de generación de datos.

La agrupación en clústeres también se puede emplear para reducir la complejidad de grandes conjuntos de datos mediante la reducción del número de dimensiones de los datos. Si observa que las categorías están definidas por solo dos o tres entidades, es posible que pueda eliminar entidades superfluas o emplear técnicas de reducción de dimensionalidad como PCA. La agrupación en clústeres también es muy útil para crear visualizaciones de los conjuntos de datos para ver las propiedades emergentes de los datos, así como la densidad y las relaciones entre los clústeres.

Los algoritmos de agrupación en clústeres se distinguen a veces por realizar una agrupación en clústeres dura, en el que cada punto de datos pertenece a un único clúster y tiene un valor binario de estar o no en un clúster, o por realizar una agrupación en clústeres blando, en el que cada punto de datos recibe una probabilidad de pertenecer a cada clúster identificado. No existe un mejor proceso de agrupación en clústeres; deberá elegir el enfoque que tenga más sentido para sus necesidades y los datos con los que está trabajando.

Por qué la gobernanza de la IA es un imperativo empresarial para escalar la inteligencia artificial empresarial

Conozca las barreras para la adopción de IA, en particular la falta de soluciones de gobernanza y gestión de riesgos de IA.

Contenido relacionado

Regístrese para obtener la guía sobre modelos fundacionales

Tipos de agrupación en clústeres

Existen muchos algoritmos de agrupación en clústeres diferentes, ya que hay múltiples formas de definir un clúster. Los distintos enfoques funcionarán bien para diferentes tipos de modelos en función del tamaño de los datos de entrada, la dimensionalidad de los datos, la rigidez de las categorías y el número de conglomerados dentro del conjunto de datos. Vale la pena señalar que un algoritmo puede funcionar muy bien para un conjunto de datos y muy mal en otro. En esta sección se analizan cinco de los enfoques más utilizados para la agrupación en clústeres. Existen otras técnicas como la agrupación en clústeres espectral o la agrupación en clústeres Mean-Shift que quedan fuera del ámbito de este artículo.

Agrupación en clústeres basada en centroides

La agrupación en clústeres basada en centroides es un tipo de método de agrupación en clústeres que parte o divide un conjunto de datos en grupos similares en función de la distancia entre sus centroides. El centroide de cada clúster es la media o la mediana de todos los puntos del clúster, en función de los datos.

Una de las técnicas de agrupación en clústeres basados en centroides más utilizadas es el algoritmo de agrupación en clústeres de medias k. El método de medias k asume que el centro de cada clúster define el clúster utilizando una medida de distancia, normalmente la distancia euclidiana, al centroide. Para inicializar la agrupación en clústeres, se proporciona un número de clústeres esperados, que representa la 'K' en medias K, y el algoritmo intenta encontrar clústeres razonables a través de los datos para que coincidan con ese número. Los clústeres k óptimos de un conjunto de datos determinado se identifican minimizando de forma iterativa la distancia total entre cada punto y su centroide de clúster asignado.

Las medias k son un enfoque de agrupación en clústeres estricto, lo que significa que cada punto de datos se asigna a un clúster diferente y no hay ninguna probabilidad asociada a la pertenencia al clúster. Las medias k funcionan bien cuando los clústeres tienen un tamaño aproximadamente equivalente y no hay valores atípicos ni cambios de densidad significativos en los datos. Las medias k suelen funcionar mal cuando los datos tienen altas dimensiones o cuando los clústeres tienen tamaños o densidades significativamente diferentes. Las medias k también son especialmente sensibles a los valores atípicos, ya que intenta establecer centroides basados en los valores medios de todos los valores del clúster y, por lo tanto, es susceptible al sobreajuste para incluir esos valores atípicos.

Otro enfoque basado en centroides para las medias K son los medoides K. Los medoides son objetos representativos de un conjunto de datos o de un clúster dentro de un conjunto de datos cuya suma de distancias a otros objetos del clúster es mínima. En lugar de tener un centroide arbitrario como centro del gráfico, el algoritmo crea clústeres mediante el uso de puntos de datos individuales como medoide o centro del clúster. Dado que el algoritmo de medoides K utiliza puntos de datos existentes en lugar de centroides arbitrarios, es menos sensible a los valores atípicos.

Agrupación en clústeres jerárquico

La agrupación jerárquica, a veces denominada agrupación basada en conectividad, agrupa puntos de datos en función de la proximidad y la conectividad de sus atributos. Este método determina los clústeres en función de lo cerca que están los puntos de datos entre sí en todas las dimensiones. La idea es que los objetos que están más cerca estén más estrechamente relacionados que los que están lejos entre sí. A diferencia de k-means, no es necesario especificar previamente el número de clústeres. En cambio, el algoritmo de agrupamiento crea una red de gráficos de los clústeres en cada nivel jerárquico. Esta red es jerárquica, lo que significa que cualquier nodo solo tiene un nodo principal, pero puede tener varios nodos secundarios. Los clústeres jerárquicos se pueden representar gráficamente con un dendrograma para ayudar a resumir y organizar visualmente los clústeres descubiertos y la jerarquía que pueden contener.

Existen dos enfoques para realizar el análisis jerárquico de clústeres:

Aglomerativo: en la agrupación aglomerativa, un enfoque ascendente comienza con puntos de datos individuales y fusiona sucesivamente los clústeres calculando la matriz de proximidad de todos los clústeres en el nivel actual de la jerarquía para crear una estructura similar a un árbol. Una vez que se creó un nivel de clústeres donde todos los clústeres tienen poca o ninguna similitud entre clústeres, el algoritmo se mueve al conjunto de clústeres recién creados y repite el proceso hasta que haya un nodo raíz en la parte superior del gráfico jerárquico. Hay una variedad de opciones posibles en términos de cómo estos clústeres deben fusionar entre sí con compensaciones en términos de calidad y eficiencia de la agrupación. En la agrupación en clústeres de enlace único, la distancia más corta entre cualquier par de puntos de datos en dos clústeres se emplea como medida de similitud. En la vinculación de todos los pares, se emplea el promedio de todos los pares de puntos de datos, mientras que en la vinculación muestreada, se emplea una muestra de los puntos de datos en los dos conglomerados para calcular la distancia promedio. En el enlace centroide, se emplea la distancia entre los centroides. Un desafío con los métodos aglomerativos es que pueden exhibir encadenamiento, donde los clústeres más grandes están naturalmente sesgados a tener distancias más cercanas a otros puntos y, por lo tanto, continúan creciendo y atrayendo más puntos de datos a su clúster. Otra desventaja es que los métodos aglomerativos pueden ser mucho más lentos que los métodos divisivos para construir la jerarquía.

 

Divisivo: En los métodos de agrupamiento jerárquico divisivo, un enfoque de arriba hacia abajo divide sucesivamente los puntos de datos en una estructura similar a un árbol. El primer paso es dividir el conjunto de datos en clústeres utilizando un método de agrupación plana como K-Means. Los clústeres con la mayor Suma de Errores Cuadrados (SSE) se particionan posteriormente mediante un método de agrupamiento plano. El algoritmo se detiene ya sea cuando llega a nodos individuales o algún SSE mínimo. El particionamiento divisivo permite una mayor flexibilidad tanto en términos de la estructura jerárquica del árbol como del nivel de equilibrio en los diferentes clústeres. No es necesario tener un árbol perfectamente equilibrado en cuanto a las profundidades de los diferentes nodos o un árbol en el que el grado de cada rama sea exactamente dos. Esto permite la construcción de una estructura de árbol que permite diferentes compensaciones en el equilibrio de las profundidades del nodo y los pesos del nodo (número de puntos de datos en el nodo). El clustering jerárquico divisivo puede ser más rápido que el clustering jerárquico aglomerativo, especialmente cuando los datos no requieren la construcción del árbol hasta puntos de datos individuales.

Agrupación en clústeres basada en la distribución

La agrupación basada en distribución, a veces denominada agrupación probabilística, agrupa puntos de datos en función de su distribución de probabilidad. Este enfoque supone que existe un proceso que genera distribuciones normales para cada dimensión de los datos que crean los centros de los grupos. Se diferencia de la agrupación basada en centroides en que no emplea una métrica de distancia como la distancia euclidiana o de Manhattan. En cambio, los enfoques basados en la distribución buscan una distribución bien definida que aparezca en cada dimensión. Las medias del clúster son las medias de la distribución gaussiana en cada dimensión. La agrupación basada en distribución es un enfoque de agrupación basado en modelos porque requiere ajustar una distribución varias veces en cada dimensión para encontrar agrupaciones, lo que significa que puede ser computacionalmente costoso cuando se trabaja con grandes conjuntos de datos.

Un enfoque comúnmente empleado para la agrupación en clústeres basada en la distribución es crear un modelo de mezcla gaussiana (GMM) a través de la maximización de expectativas. Un GMM recibe su nombre debido a la suposición de que cada clúster está definido por una distribución gaussiana, a menudo denominada distribución normal.

Considere un conjunto de datos con dos clústeres distintos, A y B, ambos definidos por dos distribuciones normales diferentes: una a lo largo del eje x y otra a lo largo del eje y. Expectation-Maximization comienza con una suposición aleatoria de cuáles son esas dos distribuciones a lo largo de cada eje y luego procede a mejorar iterativamente alternando dos pasos:

Expectativa: Asigne cada punto de datos a cada uno de los clústeres y calcule la probabilidad de que provenga del Clúster A y del Clúster B.

Maximización: actualice los parámetros que definen cada clúster, una ubicación media ponderada y una matriz de varianza-covarianza, en función de la probabilidad de que cada punto de datos esté en el clúster. Luego, repita el paso Expectativa hasta que la ecuación converja en las distribuciones observadas para cada clúster.

A cada punto de datos se le asigna una probabilidad de estar asociado a un clúster. Esto significa que la agrupación a través de la maximización de expectativas es un enfoque de agrupación suave y que un punto determinado puede estar asociado probabilísticamente con más de un clúster. Esto tiene sentido en algunos escenarios, una canción puede ser algo folk y algo rock o un usuario puede preferir programas de televisión en español pero a veces también ver programas en inglés.

Agrupación en clústeres basada en la densidad

La agrupación en clústeres basada en la densidad funciona detectando áreas donde se concentran los puntos y dónde están separados por áreas que están vacías o dispersas. A diferencia de los enfoques basados en el centroide, como K-means, o los enfoques basados en la distribución, como la maximización de expectativas, la agrupación en clústeres basada en la densidad puede detectar clústeres de una forma arbitraria. Esto puede ser extremadamente útil cuando los clústeres no se definen en torno a una ubicación o distribución específica. A diferencia de otros algoritmos de agrupación, como K-means y la agrupación jerárquica, un algoritmo basado en la densidad puede descubrir clústeres de cualquier forma, tamaño o densidad en sus datos. La agrupación en clústeres basada en la densidad también puede distinguir entre puntos de datos que forman parte de un clúster y aquellos que deberían etiquetar como ruido. La agrupación en clústeres basada en la densidad es especialmente útil cuando se trabaja con conjuntos de datos con ruido o valores atípicos, o cuando no tenemos conocimiento previo sobre la cantidad de clústeres en los datos.

DBSCAN es un ejemplo de un algoritmo de agrupación en clústeres que adopta un enfoque de agrupación basado en la densidad. Emplea un enfoque de agrupamiento en clústeres espacial basado en la densidad para crear clústeres con una densidad pasada por el usuario que se centra alrededor de un centroide espacial. El área inmediatamente alrededor del centroide se denomina vecindad y DBSCAN intenta definir vecindades de clústeres que tengan la densidad especificada. Para cada clúster, DBSCAN definirá tres tipos de puntos de datos:

Puntos centrales: Un punto de datos es un punto central si la vecindad alrededor de ese punto de datos contiene al menos tantos puntos como el número mínimo de puntos especificado por el usuario.

Puntos límite: Un punto de datos es un punto frontera si la vecindad alrededor de ese punto de datos contiene menos del número mínimo de puntos de datos pero la vecindad alrededor de ese punto contiene un punto núcleo.

Valor atípico: un punto de datos es un valor atípico si no es un punto central ni un punto límite. En esencia, ésta es la “otra” clase.

HDBSCAN es una variante de DBSCAN que no requiere la configuración de ningún parámetro; esto puede hacerlo aún más flexible que el original. HDBSCAN es menos sensible al ruido y a los valores atípicos en los datos. Además, DBSCAN a veces puede tener problemas para identificar grupos con densidad no uniforme. Esta fue la motivación principal de HDBSCAN, por lo que maneja grupos de densidad variable de manera mucho más efectiva.

Agrupación en clústeres basada en cuadrículas

Los algoritmos de agrupamiento en clústeres basados en cuadrículas no se emplean con tanta frecuencia como los cuatro enfoques anteriores, pero pueden ser útiles en agrupamientos en clústeres de alta dimensión donde otros algoritmos de agrupamiento en clústeres pueden no ser tan eficaces. En este enfoque, el algoritmo divide un conjunto de datos de alta dimensión en celdas. A cada celda se le asigna un identificador único llamado ID de celda, y todos los puntos de datos que se encuentran dentro de una celda se consideran parte del mismo grupo.

La agrupación basada en cuadrícula es un algoritmo eficiente para analizar grandes conjuntos de datos multidimensionales, ya que reduce el tiempo necesario para buscar vecinos más cercanos, lo cual es un paso común en muchos métodos de agrupación.

Un algoritmo de agrupación en clústeres basado en cuadrícula muy popular se llama STING, que significa Cuadrícula de información estadística. En STING, el área espacial se divide en celdas rectangulares y varios niveles de celdas con diferentes niveles de resolución. Las celdas de alto nivel se dividen en varias celdas de bajo nivel. STING puede ser muy eficiente en el cálculo de clústeres en escenarios de big data donde los conjuntos de datos son extremadamente grandes porque simplemente divide el conjunto de datos iterativamente en cuadrículas más finas y evalúa la cantidad de puntos dentro de esa cuadrícula. Una desventaja de STING es que los límites de los clústeres deben definir horizontal o verticalmente; el algoritmo no puede detectar límites de clústeres no rectangulares.

Otro algoritmo basado en cuadrículas que es particularmente poderoso con datos de alta dimensión es el algoritmo Clustering In Quest o CLIQUE. CLIQUE combina enfoques de agrupamiento en clústeres basados en cuadrícula y en densidad. En este algoritmo, el espacio de datos se divide en una cuadrícula y se compara la densidad relativa de puntos dentro de las celdas de la cuadrícula y se fusionan los subespacios que tienen densidades similares. Este enfoque encuentra unidades densas en todos los subespacios de interés y luego mide si los clústeres similares deben conectarse entre sí. Esto significa que CLIQUE puede detectar grupos de formas arbitrarias en datos de alta dimensión.

Evaluación de la agrupación en clústeres

Existen varias métricas de evaluación para el análisis de conglomerados y la selección de la métrica adecuada depende del tipo de algoritmo de agrupación en clústeres y del conjunto de datos correspondiente. Las métricas de evaluación generalmente se pueden dividir en dos categorías principales: extrínsecas e intrínsecas.

Medidas intrínsecas

Las medidas intrínsecas son métricas de evaluación para el análisis de conglomerados que emplean solo la información dentro del conjunto de datos. Estos pueden ser útiles cuando trabaja con datos sin etiquetar. La calidad del análisis se basa completamente en las relaciones entre los puntos de datos. Se pueden emplear cuando no tenemos conocimiento previo o etiquetas de los datos. Las medidas intrínsecas comunes incluyen:

Puntaje de silueta: Esta métrica mide la similitud y disimilitud de cada punto de datos con respecto a su propio clúster y a todos los demás clústeres. Los valores de las métricas van de -1 a +1. Un valor alto indica que el objeto está bien emparejado con su propio cluster y mal emparejado con los clusters vecinos.

Índice de Davies-Bouldin: esta métrica calcula la relación entre la distancia dentro de los clústeres y la distancia entre clústeres. Cuanto menor sea el puntaje del índice, mejor será el rendimiento de la agrupación.

Índice de Calinski-Harabasz: también conocido como criterio de la relación de varianza, mide la relación de la varianza entre clústeres y la varianza dentro de un clúster. Cuanto mayor sea la relación Calinski-Harabasz, mejor definido estará un clúster.

Estas métricas de evaluación pueden ayudarnos a comparar el rendimiento de diferentes algoritmos y modelos de agrupamiento en clústeres, optimizar los parámetros de agrupamiento en clústeres y validar la precisión y la calidad de los resultados del agrupamiento en clústeres. 

Medidas extrínsecas

Las medidas extrínsecas emplean datos reales o información externa para evaluar la validez del rendimiento del algoritmo de agrupamiento en clústeres. Esto requiere algún tipo de etiqueta de datos que confirme la clase o el clúster al que pertenece cada punto de datos. En este caso, puede comparar la precisión de su análisis de agrupamiento en clústeres con métricas que se emplean a menudo en la precisión de la clasificación. Las medidas extrínsecas comunes incluyen:

Puntaje F (también llamada medida F): esta métrica determina la precisión del algoritmo de agrupamiento en clústeres al observar la precisión y la recuperación al comparar un agrupamiento en clústeres propuesto con una verdad fundamental. En el caso de un puntaje F, cuanto más alta, mejor.

Pureza: esta métrica mide la fracción de puntos de datos que se asignan correctamente a la misma clase o clúster al que pertenecen. En el caso de una medida de pureza, cuanto más alta, mejor.

Índice de Rand: esta es una medida de la similitud entre las etiquetas verdaderas y predichas del algoritmo de agrupamiento, que va de 0 a 1. Un valor más alto indica un mejor rendimiento de agrupamiento.

Variación de la información (también llamada distancia de información compartida): mide la cantidad de información perdida y ganada entre dos agrupaciones. Esto puede ser entre un agrupamiento de verdad fundamental y un agrupamiento generado por algoritmos o entre dos agrupamientos diferentes. Un número más bajo es mejor, ya que muestra una distancia menor entre dos resultados de agrupamiento.

Aplicaciones de la agrupación en clústeres

Hay muchas áreas de aplicación donde la agrupación en clústeres es una herramienta valiosa para la minería de datos o el análisis exploratorio de datos, podemos enumerar solo una pequeña muestra de las áreas de aplicación aquí para dar una idea de la importancia de este tipo de análisis.

Detección de anomalías

La agrupación en clústeres puede ayudar a descubrir anomalías al medir qué puntos de datos no están incluidos en la estructura de agrupación definida por el análisis de clústeres. Los puntos de datos que pertenecen a clústeres pequeños o muy dispersos o que están lejos de su clúster asignado pueden considerar anomalías. Los métodos basados en la densidad, como la maximización de expectativas, se emplean para identificar puntos de datos en regiones densas como normales y aquellos en regiones de baja densidad como anomalías.

Estudio de mercado

Cuando se trata de entender qué personas de clientes o subconjuntos de mercados podrían existir, el clustering puede ser una herramienta poderosa para ayudar a realizar la segmentación de clientes. Es posible que pueda combinar datos demográficos con datos de comportamiento del cliente para encontrar qué tipo de características y patrones de compra se correlacionan con mayor frecuencia.

Segmentación de imágenes

Las imágenes pueden tener sus pixeles agrupados de distintas maneras que pueden ayudar a cortar la imagen en diferentes secciones para separar un primer plano de un fondo, detectar objetos usando similitudes en color y brillo, o dividir imágenes en regiones de interés para un procesamiento posterior. Con las imágenes, los métodos de agrupamiento procesan los pixeles de la imagen y definen áreas dentro de la imagen que representan el agrupamiento.

Procesamiento de documentos

El análisis de agrupamiento puede ser útil para procesar documentos de múltiples maneras. Los documentos se pueden agrupar por similitud para mostrar qué documentos son más similares entre sí. Esto puede basar en la longitud del documento, la distribución de frecuencia de palabras u otras formas diversas de cuantificar las características clave del documento. Otro caso de uso común es analizar grupos de secciones de un documento en función de la frecuencia de palabras clave, la longitud de la oración o la distribución de términos. Esto puede ayudar a resumir documentos o dividir documentos más grandes en conjuntos de datos más pequeños para su posterior análisis.

Recursos de clustering

Aquí hay algunos artículos adicionales para obtener más información sobre la agrupación en clústeres.

Análisis de clústeres en R

Genere datos sintéticos y compare el rendimiento de los distintos algoritmos de agrupación con esos datos.

K-means clustering usando R

Conozca los fundamentos de la realización de clústeres K-means en R empleando IBM Watson Studio Jupyter Notebooks en watsonx.ai.

Aprendizaje no supervisado

El aprendizaje no monitorear, también conocido como aprendizaje automático no monitorear, emplea algoritmos de aprendizaje automático para analizar y agrupar conjuntos de datos no etiquetados.

Implementar clústeres jerárquicos en Python

Encontrar un número óptimo de clústeres con una visualización de dendrograma.

Dé el siguiente paso

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de aprendizaje automático con IBM® watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai Reserve una demostración en vivo