¿Qué es el análisis de clústers?

El análisis de clústers es una técnica de análisis de datos que explora los grupos que ocurren naturalmente dentro de un conjunto de datos conocido como clústeres o grupos. El análisis de clústeres no necesita agrupar puntos de datos en grupos predefinidos, lo que significa que es un método de aprendizaje no supervisado. En el aprendizaje no supervisado, los conocimientos se derivan de los datos sin etiquetas o clases predefinidas. Un buen algoritmo de agrupamiento asegura una alta similitud dentro del grupo y una baja similitud entre grupos.

Diagrama de análisis de clústers

Demostración del software de análisis de clústers
Visualizaciones/Gráficos con Spotfire
Vea esta demostración para ver la forma sencilla de cómo lo hace Spotfire para comenzar a visualizar todos los aspectos de sus datos.

Un ejemplo de un problema de agrupación de datos

La agrupación de puntos de venta minorista en función de sus ventas es un caso de uso simple del análisis de clústers. Suponga que un café tiene ocho puntos de venta en la ciudad. La siguiente tabla muestra las ventas de capuchino y café helado por día.

Ejemplo 1 de análisis de clústers

El siguiente gráfico muestra los mismos datos donde las ventas de capuchino y café helado para cada punto de venta se trazan en los ejes X e Y, respectivamente. En este ejemplo, como había puntos de datos limitados, fue fácil trazar los dos grupos de puntos de venta de café que ocurren naturalmente en un gráfico y visualizarlos manualmente.

Sin embargo, cuando se trata de miles de puntos de datos, se deben usar algoritmos de análisis de clústers para segregar los puntos de datos en diferentes grupos.

Ejemplo 2 de análisis de clústers

¿Cuáles son las aplicaciones del análisis de clústers?

El análisis de clústers se utiliza a menudo de dos maneras principales:

  • Como una herramienta independiente para resolver problemas relacionados con la agrupación de datos.
  • Como un paso de preprocesamiento para varios algoritmos de Machine Learning.

Análisis de clústers como herramienta independiente

  • Marketing: en marketing, el análisis de clústers se puede utilizar para segregar a los clientes en diferentes segmentos en función de sus patrones de compra o intereses. Estos se conocen como personas del cliente. Luego, las organizaciones utilizan diferentes estrategias de marketing para diferentes grupos de clientes.
  • Análisis de riesgo en finanzas: las organizaciones financieras utilizan varios algoritmos de análisis de clústers para segregar a sus clientes en varias categorías de riesgo en función de su saldo bancario y su deuda. Al aprobar préstamos, seguros o tarjetas de crédito, estos grupos se utilizan para ayudar en la toma de decisiones.
  • Bienes inmuebles: los especialistas en infraestructura utilizan la agrupación para agrupar casas según su tamaño, ubicación y valor de mercado. Esta información se utiliza para evaluar el potencial inmobiliario de diferentes partes de una ciudad.

Análisis de clústers como paso previo al procesamiento para el Machine Learning

El análisis de clústers se usa a menudo como un paso de preprocesamiento para varios algoritmos de Machine Learning.

Los algoritmos de clasificación ejecutan análisis de clústers en un amplio conjunto de datos para filtrar los datos que pertenecen a grupos obvios. Las técnicas avanzadas de clasificación de datos se pueden usar en los puntos de datos reducidos y no obvios. A medida que el conjunto de datos se vuelve más pequeño, el tiempo de cálculo se reduce considerablemente. El mismo método se puede usar de manera opuesta, donde se usa un algoritmo de análisis de clústers para filtrar el ruido o los datos atípicos .

Antes de ejecutar un algoritmo de aprendizaje supervisado, primero se podría hacer un análisis de clústers en los datos de entrada para descubrir los grupos naturales en los datos.

¿Cuáles son los principales algoritmos de análisis de clústers?

Los algoritmos de análisis de clústers a menudo pertenecen a las siguientes categorías:

  • Algoritmos basados en particiones
  • Algoritmos jerárquicos
  • Algoritmos basados en la densidad
  • Algoritmos basados en grids
  • Algoritmos basados en modelos
  • Algoritmos basados en restricciones
  • Algoritmos de análisis de valores atípicos

Cada algoritmo es complejo en sí mismo y puede ser adecuado para algunos análisis y no para otros.

Algoritmos basados en particiones para análisis de clústers

En este método, un algoritmo comienza con varios grupos iniciales. Luego, traslada iterativamente los puntos de datos en diferentes grupos hasta que se logra una partición óptima. El algoritmo de agrupamiento K-means es uno de los algoritmos de agrupamiento más populares.

Un ejemplo de agrupamiento de K-means a continuación muestra cómo funciona esto.

Ejemplo 3 de análisis de clústers

Paso 1: decidir sobre los clústeres

Decida la cantidad de grupos, "K" para el algoritmo, por ejemplo, K=3. El algoritmo dividirá los doce puntos de datos anteriores en 3 grupos. La cantidad de K puede ser cualquier valor. Dependiendo de eso, la corrección de la agrupación puede variar. También existen métodos algorítmicos que se pueden utilizar para determinar el valor óptimo de K.

Paso 2: Elegir puntos de datos

Como K=3, tome cualquiera de los tres puntos de datos como la media inicial. En este ejemplo, los puntos C, D y E se eligen como los medios iniciales. Tenga en cuenta que el algoritmo de K-means puede tomar cualquier punto como la media inicial.

Ejemplo 4 de análisis de clústers

Paso 3: Calcular las distancias

Calcule la distancia desde cada punto del conjunto de datos hasta la media de cada grupo inicial. Se eligieron aleatoriamente tres medias de grupos C, D y E. Para cada punto de datos en la muestra, calcule la distancia desde estas tres medias. La distancia euclidiana entre dos puntos (X1, Y1) y (X2, Y2) se usa de la siguiente manera:

Ejemplo 5 de análisis de clústers

Después del paso 3, una tabla mostraría la distancia de cada punto de datos desde las medias iniciales C, D y E.

Se agrega un punto de datos a un clúster en función de su distancia mínima. Por ejemplo, el punto A tiene una distancia mínima de una media inicial C. Esto significa que A está en el clúster con media C. Después del primer paso, se obtienen los clústeres.

Paso 4: Reiteración: Cálculo de nuevos medios

Ahora es fácil ver los grupos iniciales. El siguiente paso es calcular tres nuevas medias de grupos. Para esto, se toma cada punto de datos en un grupo particular y se calcula una media.

Nueva media de clúster para el clúster "C" = (5+2+6+1+4+3+6/7, 21+11+22+10+23+14+12/7) = (3,85, 16,14), Llamemos a este punto X.

Nueva media de clúster para el grupo "D" = (1+2+5/3, 6+8+4/3) = (2,66. 6), llamemos a este punto Y.

Nueva media de clúster para el grupo "E" = (4+5/2, 10+11/2) = (4,5, 10,5). Llamemos a este punto Z.

Ejemplo 6 de análisis de clústers

Paso 5: Reiteración: calcule la distancia de cada punto de datos desde los nuevos medios

Repita el paso 3 para averiguar la distancia de todos los puntos de datos de las medias de clúster recién calculadas, X, Y, Z. En esta nueva iteración, es fácil ver que la distancia mínima de los puntos de datos C, D, I, y L ha cambiado. Ahora pertenecen a un nuevo grupo, como se muestra a continuación.

Luego, la iteración de K-means debe continuar ya que algunos de los puntos de datos han cambiado sus grupos.

Ejemplo 7 de análisis de clústers

Paso 6: Reiteración: Cálculo de nuevos medios y nuevos grupos

Como los puntos de datos C, D, I, L han cambiado sus grupos, es necesario calcular las medias de los nuevos grupos como en el paso 4. Para esto, se toma cada punto de datos en un grupo particular y se calcula un promedio. Luego, como en el paso 5, se calcula la distancia desde cada punto de datos hasta la nueva media de clúster. En función de la distancia, los puntos de datos se asignan a un clúster al que tiene una distancia mínima.

¿Cuándo finaliza el algoritmo K-Means?

K-means es un algoritmo de partición iterativo:

  • Decida la cantidad de grupos (K) para comenzar. En el ejemplo anterior, K=3.
  • Asigne aleatoriamente una cantidad K de puntos de datos como las medias iniciales del grupo.
  • Repita los pasos a continuación hasta que ningún punto de datos cambie su grupo.
  • Calcule la distancia media desde el punto de datos hasta la media del grupo.
  • Asigne un punto de datos al clúster con la distancia más baja.
  • Compruebe si algún punto de datos ha cambiado su grupo.

En una nueva iteración, si cada punto de datos permanece en su grupo anterior, el algoritmo K-means termina. Esto significa que se ha obtenido una solución localmente óptima.

Algoritmo de agrupamiento basado en particiones K-Medoid

El algoritmo K-medoids es otro algoritmo de agrupamiento basado en particiones. Los algoritmos K-medoid eligen medoids como un objeto representativo de un grupo. El algoritmo K-medoid intenta encontrar esos puntos de datos que tienen una diferencia mínima de todos los demás puntos de datos en un grupo en particular. Hasta que se minimice la disimilitud, el algoritmo K-medoid reparte iterativamente el conjunto de datos. El algoritmo K-means a menudo usa la distancia de error al cuadrado (distancia euclidiana), y los algoritmos K-medoid a menudo usan la distancia de valor absoluto como la distancia de Manhattan para medir la disimilitud entre dos puntos de datos.

Una implementación estándar del algoritmo K-medoid es el algoritmo Partition Around Medoids (PAM). Estos son los pasos básicos del algoritmo PAM.

  1. Elija un valor para K, donde K es la cantidad de grupos en los que se dividirán los puntos de datos.
  2. Elija la cantidad de K de puntos de datos al azar como medoids.
  3. Para cada punto de datos (Xi, Yi) en el conjunto de datos, mida la diferencia entre el punto y los medoids seleccionados anteriormente. Una medida de disimilitud que se usa con frecuencia es la distancia de Manhattan:
    • | Xi – Ci| + | Yi – Cj|, donde (Ci, Cj) representa un medoid.
  4. Cada punto de datos (Xi, Yi) se asigna a un grupo donde la disimilitud es mínima.
  5. Para cada uno de los grupos anteriores, calcule el costo total: la suma de las diferencias de cada uno de los puntos de datos en ese grupo.
  6. Ahora, seleccione aleatoriamente un punto no medoid para que sea el nuevo medoid y repita los pasos 3-5.
  7. Deténgase cuando no haya cambios en los clústeres.

Comparación de algoritmos K-Means y K-Medoid

Aunque el algoritmo K-means es simple, no produce buenos resultados cuando los datos tienen mucho ruido y valores atípicos. El método K-medoid es más robusto en tales casos. Sin embargo, los algoritmos K-medoid como PAM solo son útiles cuando el conjunto de datos es pequeño. Cuando el tamaño del conjunto de datos aumenta, el tiempo de cálculo para el algoritmo K-medoid aumenta exponencialmente.

Algoritmos divisivos

Como sugiere el nombre, los algoritmos divisivos asignan todos los puntos de datos en un solo grupo al principio. Luego divide el grupo en grupos menos similares. Luego, el algoritmo divide iterativamente estos grupos hasta que se logra una solución óptima. Los algoritmos divisivos también se conocen como un método de agrupamiento de arriba hacia abajo.

Algoritmos aglomerativos

Estos algoritmos comienzan con la asignación de cada punto de datos a un grupo diferente. Luego, el algoritmo une iterativamente los clústeres más similares hasta lograr una solución óptima. Los algoritmos aglomerativos también se conocen como el método de agrupamiento de abajo hacia arriba.

Ejemplo de un algoritmo de agrupamiento aglomerativo

A continuación se muestra una matriz de distancia para cinco puntos de datos. La distancia entre los puntos se puede calcular en función de la distancia euclidiana o la distancia de Manhattan o cualquier otra fórmula de distancia. La matriz de distancia siempre es una matriz simétrica, ya que la distancia entre los puntos X e Y es la misma que entre Y, y X. Basado en esta matriz de distancia, un ejemplo de un algoritmo de agrupamiento aglomerativo (de abajo hacia arriba).

Ejemplo 8 de análisis de clústers

Paso 1: En la matriz de distancias, encuentre los dos puntos cuya distancia sea la más pequeña. En el ejemplo anterior, son los puntos 3 y 5. La distancia entre ellos es 2. Póngalos en un solo grupo.

Paso 2: elimine los puntos 3 y 5 y reemplácelos con un grupo "35" y cree una nueva matriz de distancia. Para esto, se debe calcular la distancia entre todos los puntos de datos y el grupo "35". Existen varias formas de determinar esta distancia.

En este ejemplo, se ha utilizado el siguiente método para medir la distancia:

Distancia del punto X desde el grupo “35” = mínimo (distancia (X, 3), distancia (X, 5)). La matriz de distancia actualizada basada en este método es:

Ejemplo 9 de análisis de clústers

Paso 3: repita el paso 2 hasta que todos los puntos de datos estén agrupados en un grupo. En el ejemplo actual, se necesitan seis iteraciones. El siguiente diagrama muestra la formación de grupos. Este tipo de representación se conoce como dendrograma. En esta representación, el eje Y representa la distancia entre dos puntos de datos. Por ejemplo, la distancia entre los puntos 3 y 5 es 2.

Ejemplo 10 de análisis de clústers

Paso 4: Una vez que todos los puntos de datos estén agrupados, como se muestra arriba, decida cuántos grupos deben conservarse. Es una decisión difícil porque cada algoritmo de agrupamiento jerárquico finalmente produce un solo grupo. Existen varios métodos disponibles para decidir la cantidad óptima de clústeres después de que un algoritmo de agrupamiento jerárquico particione los datos.

Algoritmos de agrupamiento basados en la densidad

Estos algoritmos se basan en la idea de que los clústeres siempre son más densos que el espacio de datos que los rodea. Los algoritmos basados en densidad comienzan con un solo punto de datos y exploran los puntos de datos en su vecindad. Los puntos en la vecindad del punto inicial se incluyen en un solo grupo. La definición de vecindad varía dependiendo de la implementación del algoritmo. El agrupamiento espacial de aplicaciones con ruido basado en la densidad (DBSCAN) es un algoritmo de agrupamiento popular en esta categoría.

Algoritmos de agrupamiento basados en grids

Los algoritmos de agrupamiento basados en grids son similares a los basados en densidad. El espacio de datos se divide en varias unidades más pequeñas conocidas como grids. Cada punto de datos se asigna a una celda de cuadrícula particular. Luego, el algoritmo calcula la densidad de cada grid. Se eliminan aquellas redes cuya densidad es inferior a un umbral. A continuación, el algoritmo forma grupos a partir de grupos adyacentes de grids densas. La grid de información estadística (STING) y la agrupación en búsqueda (CLIQUE) son dos algoritmos populares basados en grids.

Además de los algoritmos discutidos anteriormente, el análisis de agrupamiento incluye un grupo de algoritmos de agrupamiento basado en modelos, agrupamiento basado en restricciones y análisis de valores atípicos.

Prueba de software de análisis de clústers
Pruebe TIBCO Spotfire - Prueba gratuita
Con TIBCO Spotfire, la solución de análisis más completa del mercado, descubra fácilmente nuevos conocimientos a partir de sus datos.

Ventajas y desventajas de los algoritmos de análisis de agrupamiento

Algoritmo Ventajas Inconvenientes
Algoritmos de análisis de clústers basados en particiones
  1. Sencillo y escalable.
  2. Funciona bien con conjuntos de datos con clústeres compactos y bien separados.
  1. Necesidad de definir la cantidad de clústeres por adelantado.
  2. No funciona bien con espacio de datos de alta dimensión.
  3. Susceptible al ruido y valores atípicos. No muy robusto.
Algoritmos de análisis de clústers jerárquicos
  1. No es necesario definir grupos por adelantado.
  2. Calcula una jerarquía completa de todos los clústeres posibles.
  3. Buenos métodos de visualización como un dendrograma.
  1. Imprecisión sobre cuándo dejar de agrupar.
  2. Degradación del rendimiento en el caso de espacio de datos de gran dimensión.
  3. Una vez que se realiza la división o fusión de clústeres, es difícil corregirlo.
Algoritmos de análisis de clústers basados en la densidad
  1. Descubre grupos de formas y tamaños arbitrarios.
  2. Mejor manejo del ruido y los valores atípicos en los datos.
  3. No es necesario especificar la cantidad de clústeres por adelantado.
  1. Si los datos tienen clústeres de densidad variable, este método podría fallar.
  2. La salida depende en gran medida de la configuración inicial de los parámetros de entrada.
Algoritmos de análisis de clústers basados en grids
  1. No existe cálculo de distancia. Por lo tanto, el algoritmo es rápido.
  2. El algoritmo puede manejar grandes conjuntos de datos.
  1. Los límites del clúster consisten en límites horizontales o verticales. No incluye límites diagonales.