Los algoritmos de clustering, o agrupamiento, son técnicas de aprendizaje automático utilizadas para identificar patrones o grupos en conjuntos de datos que no están previamente etiquetados. Estos algoritmos se centran en detectar la estructura interna de los datos y agruparlos en distintos clústeres basados en su similitud.
¿Cómo se utilizan los algoritmos de clustering?
Redes sociales: Permiten identificar grupos de personas que interactúan con frecuencia, revelando amistades o intereses comunes.
Educación: Ayudan a clasificar estudiantes según su rendimiento o tiempo de estudio, proporcionando insights sobre mejores prácticas educativas.
Motores de búsqueda: Comparan nuevos textos con búsquedas anteriores para ofrecer recomendaciones de contenido relevante.
Medicina: Utilizados para detectar grupos de riesgo basados en hábitos de vida y métricas de salud como el nivel de azúcar.
Finanzas: Evaluación crediticia para predecir la probabilidad de pago de un cliente, mejorando la precisión en la asignación de créditos.
¿Por qué son valiosos los algoritmos de clustering?
Los algoritmos de clustering son una herramienta poderosa que permite a las empresas y organizaciones interpretar grandes volúmenes de datos de manera eficiente y efectiva, sin necesidad de etiquetas previas. Esto los hace ideales para situaciones donde el objetivo es descubrir patrones ocultos o realizar segmentaciones dinámicas basadas en las características intrínsecas de los datos.
¿Cómo se visualizan los resultados del clustering?
Una forma de visualizar este proceso es mediante diagramas que representan los grupos derivados del análisis. Por ejemplo, al analizar genes relacionados con enfermedades genéticas, los diagramas pueden mostrar de manera clara y rápida la agrupación de los datos. Aunque el mundo real presenta datos más complejos y menos ordenados, estos diagramas proporcionan un método visual efectivo para entender las relaciones dentro del conjunto de datos.
Explorando más allá: Te invitamos a investigar
Este contenido solo es un punto de partida. Existen numerosos tipos de algoritmos de agrupamiento, como K-Means, DBSCAN, y Hierarchical Clustering, entre muchos otros. Te invitamos a realizar una búsqueda en Internet para profundizar en estos métodos, explorando sus aplicaciones y entendiendo cómo cada uno puede ser utilizado en diferentes contextos.
¿Te animas a compartir tus hallazgos? Seguramente descubrirás métodos fascinantes y su impacto en la mejora de procesos de toma de decisiones y análisis de datos. ¡Continúa aprendiendo y explorando el fascinante mundo del clustering!
K-Means Clustering: La idea principal es definir k centroides (uno para cada grupo) y luego tomar cada punto de la base de datos y situarlo en la clase de su centroide más cercano.
!K-Means example
Mean-Shift Clustering: Mean shift clustering is a sliding-window-based algorithm that attempts to find dense areas of data points.
!Mean-Shift example
DBSCAN: is a density-based clustered algorithm similar to mean-shift, but with a couple of notable advantages.
!DBSCAN example
Expectation–Maximization (EM) Clustering using Gaussian Mixture Models (GMM): Gaussian Mixture Models (GMMs) give us more flexibility than K-Means.
!EM-GMM example
En la última clase se explica brevemente cuándo utilizar ciertos algoritmos de clustering:
Si conocemos la cantidad de clústers que necesitamos (k) se recomienda usar K-Means o Spectral Clustering.
Si k no se conoce utilizar clustering jerárquico, Mean-Shift o DBSCAN. 🤓
++ALGORITMOS DE AGRUPAMIENTO++
Clustering es una técnica de Machine Learning que implica la agrupación de puntos de datos. Dado un conjunto de puntos de datos, podemos utilizar un algoritmo de agrupación para clasificar cada punto de datos en un clúster específico. En teoría, los puntos de datos que están en el mismo clúster deben tener propiedades y/o características similares, mientras que los puntos de datos en diferentes clústeres deben tener propiedades y/o características muy diferentes. La agrupación es un método de Aprendizaje no Supervisado y es una técnica común para el análisis de datos estadísticos utilizada en muchos campos.
En la ciencia de los datos, podemos utilizar el análisis de clústeres para obtener información valiosa de nuestros datos al ver en qué clústeres caen los puntos de datos cuando aplicamos un algoritmo de clústeres.
Agrupamiento K Means
K Means es probablemente el algoritmo de clustering más conocido, es fácil de entender e implementar en código.
Para empezar, seleccionamos un número de clústeres para usar e inicializamos aleatoriamente sus respectivos puntos centrales. Para calcular el número de clústeres a utilizar, es bueno echar un vistazo rápido a los datos y tratar de identificar cualquier agrupación distinta. Los puntos centrales son vectores de la misma longitud que cada vector de puntos de datos.
Cada punto de datos se clasifica calculando la distancia entre ese punto y cada centro del clúster, y luego clasificando el punto que estará en el clúster cuyo centro está más cerca de él.
Basándonos en estos puntos clasificados, recalculamos el centro del clúster tomando la media de todos los vectores del clúster.
Repite estos pasos para un número determinado de iteraciones o hasta que los centros de clústeres no cambien mucho entre iteraciones. También puedes optar por inicializar aleatoriamente los centros de grupo unas cuantas veces, y luego seleccionar la ejecución que parezca que proporcionó los mejores resultados.
K Means tiene la ventaja de que es bastante rápido, ya que todo lo que estamos haciendo es calcular las distancias entre puntos y centros de grupo, por lo tanto, son muy pocos cálculos.
Por otro lado, K Means tiene un par de desventajas. En primer lugar, tienes que seleccionar cuantos clústeres hay. Esto no siempre es trivial e idealmente con un algoritmo de clustering nos gustaría que lo resolviera por nosotros porque el objetivo es obtener alguna información de los datos. K Means también comienza con una selección aleatoria de centros de clústeres y, por lo tanto, puede producir diferentes resultados de clústeres en diferentes ejecuciones del algoritmo. Por lo tanto, los resultados puedes no ser repetibles y carecer de consistencia. Otros métodos de clustering son más consistentes.
K Medians es otro algoritmo de clustering relacionado con K Means, excepto que en lugar de volver a calcular los puntos centrales del clúster usando la media, usamos el vector mediano del grupo. Este método es menos sensible a los valores atípicos, debido al uso de la mediana, pero es mucho más lento en el caso de conjuntos de datos más grandes, ya que se requiere la clasificación en cada iteración cuando se calcula el vector de la mediana.
Agrupamiento Mean Shift
La agrupación Mean Shift es un algoritmo basado en ventanas deslizantes que intenta encontrar áreas densas de puntos de datos. Es un algoritmo basado en el centroide, lo que significa que el objetivo es localizar los puntos centrales de cada clúster, lo que funciona actualizando a los candidatos para que los puntos centrales sean la media de los puntos dentro de la ventana deslizante.
Estas ventanas candidatas son filtradas en una etapa de post procesamiento para eliminar los duplicados cercanos, formando el conjunto final de puntos centrales y sus correspondientes grupos.
Para explicar el agrupamiento Mean Shift consideremos un conjunto de datos en un espacio bidimensional. Comenzamos con una ventana circular deslizante centrada en el punto C, seleccionada aleatoriamente, y con el radio r como núcleo. Mean Shift es un algoritmo de escalada de colinas que implica el desplazamiento iterativo de este núcleo a una región de mayor densidad en cada paso hasta la convergencia.
En cada iteración, la ventana deslizante se desplaza hacia regiones de mayor densidad desplazando el punto central a la media de los puntos dentro de la ventana. La densidad dentro de la ventana corredera es proporcional al número de puntos dentro de ella. Naturalmente, al cambiar a la media de los puntos en la ventana, gradualmente se moverá hacia áreas de mayor densidad de puntos.
Seguimos desplazando la ventana corrediza de acuerdo con la media hasta que no hay dirección en la que un desplazamiento pueda acomodar más puntos dentro del núcleo.
Este proceso de los pasos 1 al 3 se realiza con muchas ventanas hasta que todos los puntos se encuentran dentro de una ventana. Cuando se superponen varias ventanas, se conserva la ventana que contiene la mayor cantidad de puntos. A continuación, los puntos de datos se agrupan según la ventana deslizante en la que residen.
A diferencia de la agrupación K Means, no es necesario seleccionar el número de clústeres, ya que el desplazamiento medio lo descubre automáticamente. Es una gran ventaja. El hecho de que los clustering converjan hacia los puntos de máxima densidad también es muy deseable, ya que es bastante intuitivo de entender y encaja bien en un sentido naturalmente basado en datos. El inconveniente es que la selección del tamaño/radio “r” de la ventana puede ser no trivial.
DBSCAN
DBSCAN es un algoritmo de agrupamiento basado en la densidad similar a Mean Shift, pero con un par de ventajas notables. Las siglas DBSCAN significan agrupamiento espacial basado en densidad de aplicaciones con ruido.
DBSCAN comienza con un punto de datos de inicio arbitrario que no ha sido visitado. El vecindario de este punto se extrae usando una distancia épsilon, todos los puntos que están dentro de la distancia de épsilon son puntos de vecindario.
Si hay un número suficiente de puntos dentro de este vecindario, entonces el proceso de agrupación comienza y el punto de datos actual se convierte en el primer punto del nuevo grupo. De lo contrario, el punto será etiquetado como ruido, más tarde este punto ruido se podría convertirse en la parte del clúster. En ambos casos, este punto se marca como visitado.
Para este primer punto en el nuevo clúster, los puntos dentro de su vecindario distante épsilon también pasan a formar parte del mismo clúster. Este procedimiento de hacer que todos los puntos en el vecindario de épsilon pertenezcan al mismo grupo se repite para todos los nuevos puntos que acaban de ser agregados al clúster del grupo.
Este proceso de pasos 2 y 3 se repite hasta que todos los puntos en el clúster son determinados, es decir, todos los puntos dentro del vecindario épsilon del clúster han sido visitados y etiquetados.
Una vez que terminamos con el clúster actual, se recupera y procesa un nuevo punto no visitado, lo que conduce al descubrimiento de otro clúster o ruido. Este proceso se repite hasta que todos los puntos se marcan como visitados. Dado que al final de esta visita se han visitado todos los puntos, cada uno de ellos se marcará como perteneciente a un clúster o como ruido.
DBSCAN presenta algunas grandes ventajas sobre otros algoritmos de agrupación en clúster. En primer lugar, no requiere un número determinado de clúster. También identifica los valores atípicos como ruidos, a diferencia del desplazamiento medio, que simplemente los coloca en un grupo, incluso si el punto de datos es muy diferente. Además, puede encontrar clústeres de tamaño y forma arbitraria bastante bien.
El principal inconveniente de DBSCAN es que no funciona tan bien como otros cuando los clústeres son de densidad variable. Esto se debe a que la configuración del umbral de distancia épsilon para identificar los puntos de vecindario variará de un clúster a otro cuando la densidad varíe. Esta desventaja también ocurre con los datos de muy alta dimensión, ya que de nuevo el umbral de distancia épsilon se vuelve difícil de estimar.
Agrupamiento utilizando modelos de mezcla gaussiana
Los modelos de mezcla gaussiana (GMM, por sus siglas en ingles) nos dan más flexibilidad que los K Means. Con los GMM suponemos que los puntos de datos están distribuidos por Gauss, esto es una suposición menos restrictiva que decir que son circulares usando la media. De esta manera, tenemos dos parámetros para describir la forma de los clústeres, la media y la desviación estándar. Tomando un ejemplo en dos dimensiones, esto significa que los clústeres pueden tomar cualquier tipo de forma elíptica, ya que tenemos una desviación estándar tanto en la dirección X como en la Y. Por lo tanto, cada distribución gaussiana se asigna a un solo grupo.
Para encontrar los parámetros del gaussiano para cada clúster, por ejemplo, la media y la desviación estándar, utilizaremos un algoritmo llamado maximización de expectativas (EM, por sus siglas en inglés). Entonces podemos proceder con el proceso de agrupación de maximización de expectativas usando GMM.
Comenzamos seleccionando el número de clúster, como se hace en K Means e inicializando aleatoriamente los parámetros de distribución gaussiana para cada clúster. Uno puede tratar de proporcionar una buena estimación de los parámetros iniciales echando un vistazo rápido a los datos también. Aunque hay que tener en cuenta, esto no es 100% necesario, ya que los gaussianos empiezan como muy pobres, pero se optimizan rápidamente.
Dadas estas distribuciones gaussianas para cada clúster, calcular la probabilidad de que cada punto de datos pertenezca a un clúster en particular. Cuanto más cerca esté un del centro de los gaussianos, más probable será que pertenezca a ese grupo. Esto debería tener sentido intuitivo ya que con una distribución Gaussiana estamos asumiendo que la mayoría de los datos se encuentran más cerca del centro del clúster.
Basándonos en estas probabilidades, calculamos un nuevo conjunto de parámetros para las distribuciones gaussianas de manera que maximicemos las probabilidades de los puntos de datos dentro de los clústeres. Calculamos estos nuevos parámetros utilizando una suma ponderada de las posiciones de los puntos de datos, donde las ponderaciones son las probabilidades del punto de datos que pertenece a ese clúster en particular.
Los pasos 2 y 3 se repiten iterativamente hasta la convergencia, donde las distribuciones no cambian mucho de iteración en iteración.
El uso de los modelos de mezcla gaussiana presenta dos ventajas clave. En primer lugar, son mucho más flexibles en términos de covarianza de clústeres que los K Means, debido al parámetro de desviación estándar, los clústeres pueden adoptar cualquier forma de elipse, en lugar de limitarse a círculos. K Means es en realidad un caso especial de los modelos de mezcla gaussiana en el que la covarianza de cada clúster a lo largo de todas las dimensiones se acerca a 0. En segundo lugar, dado que los modelos de mezcla gaussiana utilizan probabilidades, pueden tener conglomerados múltiples por punto de datos. Por lo tanto, si un punto de datos está en medio de dos grupos superpuestos, podemos simplemente definir su clase diciendo que pertenece al X por ciento de la 1 y al Y por ciento de la 2. Es decir, los modelos de mezcla gaussiana apoyan una composición mixta.
Agrupamiento Jerárquico
Los algoritmos de agrupación jerárquica se dividen en dos categorías: de arriba hacia abajo o de abajo hacia arriba. Los algoritmos ascendente tratan cada punto de datos como un solo clúster al principio y luego fusionan sucesivamente o aglomeran pares de clústeres hasta que todos los clústeres se hayan fusionado a un único clúster que contenga todos los puntos de datos. Por lo tanto, la agrupación jerárquica ascendente se denomina agrupación algomerativa jerárquica. Esta jerarquía de clúster se representa como un árbol o dendograma. La raíz del árbol es el único clúster que recoge todas las muestras, siendo las hojas los clústeres con una sola muestra.
Comenzamos tratando cada punto de datos como un solo clúster, es decir, si hay X puntos de datos en nuestro conjunto de datos, entonces tenemos X clústeres. Luego seleccionamos una métrica de distancia que mide la distancia entre dos clústeres.
En cada iteración, combinamos dos grupos en uno. Los dos grupos que se combinarán se seleccionan como los que tiene la vinculación media más pequeña. Es decir, de acuerdo con nuestra métrica de distancia seleccionada, estos dos clústeres tienen la menor distancia entre sí y por lo tanto son más más similares y deben ser combinados.
El paso 2 se repite hasta llegar a la raíz del árbol, es decir, solo tenemos un clúster que contiene todos los puntos de datos. De esta manera podemos seleccionar cuántos clústeres queremos al final, simplemente eligiendo cuándo dejar de combinar los clústeres, es decir, cuando dejar de construir el árbol.
La agrupación jerárquica no requiere que especifiquemos el número de clústeres e incluso podemos seleccionar qué número de clústeres se ve mejor ya que estamos construyendo un árbol. Además, el algoritmo no es sensible a la elección de la métrica de distancia, todos ellos tienden a funcionar igualmente bien, mientras que, con otros algoritmos de agrupamiento, la elección de la métrica de distancia es crítica. Un caso particularmente útil de los métodos de agrupamiento de jerárquica es cuando los datos subyacentes tienen una estructura jerárquica y se desea recuperar la jerarquía, otros algoritmos de agrupación no pueden hacer esto. Estas ventajas de la agrupación jerárquica vienen a costa de una menor eficiencia, a diferencia de la complejidad lineal de K Means y el modelo de mezcla gaussiana.
Algoritmos de agrupamiento
El problema de formar grupos en un conjunto de datos es muy importante para el conocimiento del comportamiento de una población de la cual solo se tiene una cantidad n de sus elementos. La solución de estos problemas se realiza mediante la creación de algoritmos de agrupamiento.
Entre los métodos de ++agrupamiento paramétricos++ se encuentran las mixturas finitas, éstas son una poderosa herramienta para modelar densidades de probabilidad de conjuntos de datos univariados y multivariados, modelan observaciones las cuales se asume que han sido producidas por un conjunto de fuentes aleatorias alternativas e infieren los parámetros de estas fuentes para identificar qué fuente produjo cada observación, lo que lleva a un agrupamiento del conjunto de observaciones.
Los ++métodos de agrupamiento no paramétricos++ pueden dividirse en tres grupos fundamentales: **jerárquicos, particionales y basados en densidad. **
Los algoritmos jerárquicos son aquellos en los que se va particionando el conjunto de datos por niveles, de modo tal que en cada nivel generalmente , se unen o se dividen dos grupos del nivel anterior, según si es un algoritmo aglomerativo o divisivo.
Los algoritmos** particionales** son los que realizan una división inicial de los datos en grupos y luego mueven los objetos de un grupo a otro según se optimice alguna función objetivo.
Los algoritmos basados en densidad enfocan el problema de la división de una base de datos en grupos teniendo en cuenta la distribución de densidad de los puntos, de modo tal que los grupos que se forman tienen una alta densidad de puntos en su interior mientras que entre ellos aparecen zonas de baja densidad.
La técnica de clustering es una técnica no supervisada, porque no sabemos qué grupos existen en los datos, no están clasificados.
Paso 1 Normalizar los datos
Paso 2 Correlación entre variables, para identificar las variables dominantes.
Paso 3 Calcular el número óptimo de clusters
Paso 4 Calcular los clusters con diferentes técnicas
Hierarchical clustering: utiliza las distancias entre observaciones para construir un árbol de distancias y a partir de eso cortar en clusters.
K-means: también utiliza las distancias entre puntos. Y agrupa los clusters según lo cerca que están de los centros de gravedad de los clusters. A priori, tienes que saber cuántos clusters vas a crear para que el algoritmos sepa dónde colocar cada punto.
Gaussian mixture models: utiliza modelos gaussianos o modelos de distribuciones normales de diferentes formas para que puedas crear grupos en forma de elipses. Para cada punto se le calcula la probabilidad de pertenencia a cada modelo gaussiano.
Paso 5 Comparar los resultados de los clusters para identificar cual te ayuda mejor a clasificar.
Notas:
Los clusters son grupos.
El agrupamiento es el poseso mediante el cual se juntan objetos similares en clusters que los identifican.
El agrupamiento es un aprendizaje no supervisado, ya que no utiliza etiquetas.
El agrupamiento nos permite entender la estructura de los datos similares entre los mismos.
¿En clustering también se pueden tener aquellos de reconocimiento de imágenes?
¡Hola Javier! Sí, porque para una computadora una imagen es un número, es decir un conjunto de bytes (unos y ceros) así que puedes agrupar cualquier cosa.
Depende de a que te refieras con "reconocimiento de imágenes".
Pero regularmente el reconocimiento de objetos dentro de una imagen se lleva a cabo con algoritmos supervisados que pronostican una etiqueta, como lo dice David, con base en reconocer patrones en ciertos datos que ya se le mostraron previamente al algoritmo para entrenarlo.
Ej: Reconocer entre imágenes de perritos y gatitos.
Los algoritmos de agrupamiento son algoritmos no supervisados que sirven para encontrar grupos de datos que tienen similitudes entre elementos del mismo grupo y se diferencian lo suficiente entre elementos de otros grupos, por eso es tan importante el concepto de distancias que mencionaba David en la clase anterior.
Mean-shift Clustering, que busca los puntos centrales o áreas densas de cada grupo o clase.
Density-Based Spatial Clustering of Applications with Noise (DBSCAN)
Agrupamiento por aglomeración jerárquica
K-medias: es un método de agrupamiento, que tiene como objetivo la partición de un conjunto de n observaciones en k grupos en el que cada observación pertenece al grupo cuyo valor medio es más cercano. Es un método utilizado en minería de datos.
Una manera más común de clasificar los algoritmos de machine learning son:
Agrupamiento (clustering)
Clasificación
Faltaría la regresión. Clasificación y regresión son las dos grandes subclases del aprendizaje supervisado. Mientras que en clasificación la variable a está dividida en clases (es nominal o ordinal), en Regresión la variable predicha suele ser un valor continuo.
Hola, la verdad no me quedo muy claro que hacen los algoritmos de clustering , entendí que nos sirven para agrupar datos pero hasta ahi no mas xd
Agrupar datos con características similares
Un ejemplo real de clustering seria el de Netflix :
Tus series más vistas imaginemos sea de género Acción , Drama , Terror.
Con estas características , el algoritmo de Netflix te agrupa con usuarios con estas características similares para darte un servicio más personalizados debido a tus gustos.
A lo mejor con el siguiente video te queda más claro:
@youtube
Conozco el algoritmo de clustering K-Means, que dado un conjunto de N datos, y k número de centros deseados, te devuelve la posición de los k centros. Lo que hace para clasificar es asignar a cada punto al i-esimo centro tal que su distancia (la distancia que quieras, normalmente euclidiana) sea mínima. Se van actualizando la posición de los centros a cada iteración, calculando la posición promedio de los vectores que pertenecen a cada centro :eyes:
Notas :smile:
Introducción al agrupamiento (Clustering).
Es un proceso mediante el cual se agrupan objetos similares en clusters que los identifican. ⛱️
Se clasifica como aprendizaje no supervisado ya que no requiere la utilización de etiquetas. 🎫
Permite entender la estructura de los datos y la similitud entre los mismos 📊.
Es utilizado en motores de recomendación, análisis de redes sociales, análisis de riesgo crediticio, clasificación de genes, riesgos médico, etc 🧬.
Los datos normalmente no parecen estar ordenados, pero estos algoritmos pueden identificar patrones que nosotros no, mas aun en dimensiones mas altas cuando es imposible visualizar los datos.
Basado en este artículo compartido por la compañera Carla Marcela Florida Román comparto que significan algunos de los algoritmos de agrupamiento.
El K-means clustering:
Para este algoritmo se selecciona un número de clases o grupos y aleatoriamente se crean sus puntos centrales.
Los datos ingresados son clasificados calculando la distancia entre el punto y el centro de cada grupo, entonces, se le agrega al grupo que tenga el centro más cercano.
Basandonos en los puntos clasificados, se recalcula el centro del grupo tomando la media de todos los vectores del grupo.
Se repite esta acción para un conjunto de números o iteraciones o también hasta que el centro de los grupos no cambie tanto entre iteraciones. Se puede optar por iniciar el centro del grupo aleatoriamente unas cuantas veces, y luego seleccionar la corrida que te parezca ha dado los mejores resultados.
Mean-Shift Clustering
Este se realiza en espacios bidimensionales. Comienza con una "ventana circular" (es como un sector que es el que se considerará durante el algoritmo) centrado en un punto C (que es elegido de manera aleatoria) y que tiene un radio r como su núcleo. Este algoritmo cambia su núcleo de manera iterativa a una región de mayor densidad en cada paso hasta que logra convergencia (es llamado un algoritmo de escalada simple)
Por cada iteración, la "ventana" va cambiando hacia un área de mayor densidad cambiando el punto central a la media de los puntos dentro de la ventana. De esta forma va moviendose hacia puntos de mayor densidad cada vez.
Este se mueve según la media hasta que ya no se puede mover a un punto que acomode más puntos dentro del núcleo. Es decir, se mueve hasta que ya no puede aumentar la densidad.
Este proceso se repite con varias ventanas al mismo tiempo, hasta que todos los puntos estan en una ventana. Cuando distintas ventans se sobreponen, se preserva la ventana con mayor puntos. Y los datos son agrupados según la ventana a la que pertenecen.
Density-Based Spatial Clustering of Applications with Noise (DBSCAN)
El DBSCAN comienza con un dato arbitrario que no ha sido visitado como punto de partida. Los vecinos de este punto son extraidos usando una distancia de un epsilon (Todos los puntos a una distancia de un epsilon son puntos vecinos).
Si hay una cantidad suficiente de puntos (de acuerdo con una cantidad minima de puntos que establecimos) entre nuestros vecinos, entonces el proceso de agrupamiento comienza y el dato actual se convierte en el primer punto en el nuevo agrupamiento. De lo contrario, el punto se convierte en ruido (más adelante estos puntos de ruido se pueden convertir en parte del agrupamiento). Pero en ambos casos se marca como "Visitado".
Para el primer punto en el nuevo agrupamiento, los puntos con distancia de epsilon vecinos se convierten en parte del mismo agrupamiento. Este procedimiento de hacer que todos los puntos que sean vecinos a distancia de epsilon sean parte del mismo agrupamiento se repite hasta que todos los nuevos puntos que se hayan añadido sean parte del mismo agrupamiento.
Estos pasos se repiten hasta que todos los puntos en el grupo sean determinados. Por ejemplo que todos los puntos fueron visitados y etiquetados.
Una vez se ha finalizado con el grupo actual, se selecciona un nuevo punto que no ha sido visitado y es procesado. Lo que nos lleva a encontrar un nuevo grupo o ruido. Este proceso se repite hasta que todos los puntos son marcados como visitados. Una vez han sido visitados todos los puntos estos son marcados como grupos o como ruido.
Expectation–Maximization (EM) Clustering using Gaussian Mixture Models (GMM)
Se comienza seleccionando un número agrupaciones o grupos como en el k-mean y se inicia aleatoriamente la distribución Gaussiana de los parametros de cada agrupacion.
Dada estas distribuciones Gaussianas para cada agrupación, se calcula la probabilidad de que cada punto pertenezca a una agrupación en particular. Mientras más cerca este el punto del centro Gaussiano, es más probable que pertenezca a la agrupación.
Basados en esta probabilida, se calcula un nuevo conjunto de parámetros para la distribución Gaussiana para que podamos maximizar las probabilidades de los datos dentro de las agrupaciones. Se calcula estos nuevos parámetros usando una suma ponderada de la posición de los datos, donde el ponderado son las probabilidades de que el dato pertenezca a esa agrupación en particular.
Estos pasos se repiten hasta que hay convergencia, donde las distribuciones no cambien entre iteraciones.
Agglomerative Hierarchical Clustering
Esta comienza tratando cada punto como una agrupación. Entonces se selecciona una métrica de distancia que calcule la distancia entre dos agrupaciones.
En cada iteración se combinan dos agrupaciones en una. Las dos agrupaciones que se van a combinar son las que tengan menos distancia entre ellas
Este paso se repite hasta que se llegue a la raíz del árbol, por ejemplo que se tenga una sola agrupación, pero podemos elegir cuantas agrupaciones queremos.