Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Data Science

¿Qué son los algoritmos de clustering y cuándo utilizarlos?

Juan-Victor
Juan-Victor
5 dias atrás

Compartir

Mira este artículo:
  1. Cómo funciona la técnica de agrupamiento
  2. K-medias
  3. DBSCAN
  4. Mean Shift
  5. Clusterización jerárquico
  6. Conclusión
  7. Referencias

Estos grupos también se conocen como clústeres , por lo que el análisis de clústeres también puede llamarse agrupamiento .

Con esto en mente, en este artículo exploraremos los principales algoritmos de clusterización, sus diferencias y cuándo utilizarlos. Para ello, revisaremos los siguientes algoritmos:

  • K-medias
  • DBSCAN
  • Mean Shift
  • y finalmente, la técnica de Clusterizaçion jerárquico

¿Vamos?

Cómo funciona la técnica de agrupamiento

El primer punto importante es que una de las principales ventajas de las técnicas de clusterización es etiquetar los datos con la información que queremos predecir. Es decir, el análisis es de naturaleza exploratoria .

Existen numerosas técnicas y criterios diferentes para definir la similitud entre datos y formar grupos.

Estas técnicas se utilizan en una amplia gama de áreas, como sistemas de recomendación, segmentación de clientes y detección de anomalías.

Los criterios de similitud y disimilitud de estas técnicas generalmente implican el cálculo de la distancia entre registros en la base de datos. Por lo tanto, solo se puede utilizar información binaria (0 o 1) o numérica en la evaluación de similitud.

Además, debido a los cálculos de distancia, estos algoritmos son muy sensibles a la presencia de valores atípicos y a la diferencia de escala entre las variables en la base de datos.

Dicho esto, exploremos nuestro primer algoritmo que es K-Means.

K-medias

El algoritmo K-Means es uno de los algoritmos de agrupamiento más populares y su tarea es dividir un conjunto de datos en k grupos distintos.

El objetivo de este algoritmo es minimizar la varianza de los datos dentro de cada clúster. En otras palabras, el objetivo es maximizar la similitud entre los puntos dentro de un clúster y maximizar la divergencia de características entre diferentes clústeres.

El algoritmo K-Means funciona básicamente de la siguiente manera:

  • Se define un número inicial de clústeres en los que se dividirán los datos y se delimita la posición de los centroides. Los centroides son puntos que representan un grupo, generalmente en la posición central de los puntos.
  • El algoritmo calcula la distancia de cada punto a cada centroide y asigna al punto un grupo que hace referencia al centroide más cercano.
  • Después de definir los grupos iniciales, cada centroide se reposiciona en la posición promedio de los puntos en cada grupo.
  • Los dos pasos anteriores se repiten hasta que no haya variación en la posición de cada clúster y en la asignación de grupo de cada punto.

La siguiente visualización representa el proceso iterativo de K-Means con 3 clusters, con la definición de la posición de los centroides iniciales y su reposicionamiento en función del punto medio de los puntos:

Cuándo utilizar K-Means

  • Cuando se tiene un conjunto de datos grande y se conoce o se puede estimar el número de clústeres k.
  • Cuando buscamos una solución rápida y eficiente para agrupar datos.
  • Cuando la distribución de datos es aproximadamente esférica, dado que el cálculo de la distancia se realiza desde un centro a cada punto, los grupos formados generalmente tendrán una forma esférica/circular.

DBSCAN

DBSCAN es un algoritmo de agrupamiento que se basa en la densidad de puntos.

Esta técnica agrupa los puntos cercanos entre sí en grupos e ignora las regiones donde la densidad de puntos es baja, es decir, cuando los puntos están muy espaciados.

Es capaz de identificar clusters de forma arbitraria, sin necesidad de definir previamente el número de grupos a formar y se ve poco afectado por la presencia de valores atípicos.

Para que el algoritmo DBSCAN funcione es necesario definir un valor de épsilon (ε) que determina la distancia máxima a considerar para agrupar dos puntos en un mismo cluster.

Otro parámetro a definir es el número mínimo de puntos dentro de un vecindario para que se pueda definir el cluster.

El proceso de generación de clusters mediante el algoritmo funciona de la siguiente manera:

  • Se selecciona aleatoriamente un punto de la base de datos.
  • El cálculo de la distancia de una esfera con radio épsilon (ε) se realiza alrededor del punto seleccionado.
  • Si se estipula inicialmente un número mínimo de puntos dentro de la esfera, estos formarán parte de un grupo. De lo contrario, el punto se considerará ruido.
  • El proceso se repite para los puntos asignados al clúster hasta que la condición deje de cumplirse. En ese caso, se elige aleatoriamente un nuevo punto para definir un nuevo clúster o ruido.

La siguiente visualización representa el proceso iterativo de DBSCAN. En cada punto, se forma un círculo de tamaño épsilon (ε) y se comprueba si hay al menos 3 puntos en esta vecindad. De ser así, los puntos se asignan a un clúster:

Cuándo utilizar DBSCAN:

  • Cuando los cúmulos tienen formas complejas, distintas de las esféricas.
  • Cuando los datos contienen ruido y valores atípicos.
  • Cuando no es posible definir el número de grupos que formará el algoritmo.

Mean Shift

Mean Shift es un algoritmo que se basa en centroides, al igual que K-Means. Sin embargo, encontrará automáticamente el número de clústeres, por lo que no es necesario definir este número de antemano.

Se basa en la idea de encontrar máximos locales en la densidad de puntos para descubrir los centros de los cúmulos.

Funciona actualizando los candidatos a centroide para que sean el promedio de los puntos dentro de una región determinada.

Los candidatos a centroide se filtran para eliminar puntos duplicados o puntos que están demasiado cerca entre sí, formando así un conjunto final de centroides.

El tamaño de la región a buscar está determinado por un parámetro bandwidth o ancho de banda, y puede definirse de forma manual o automática en función de una estimación.

La siguiente visualización representa el proceso iterativo del Desplazamiento Medio. Primero, se asignan diferentes centroides posibles y, basándose en el cálculo para obtener un valor máximo, conocido como "hill climbing" , los centroides se reasignan cada vez más cerca del valor máximo de densidad hasta definir el centro de un clúster:

Cuándo utilizar Mean Shift:

  • Cuando no es posible definir el número de grupos que formará el algoritmo.
  • Cuando los clústeres tienen formas y tamaños arbitrarios.
  • Cuando la base de datos no tiene muchas filas o variables, el algoritmo de desplazamiento medio es muy costoso computacionalmente y, al trabajar con muchas variables, puede no converger bien en las iteraciones.

Clusterización jerárquico

La clusteriazación jerárquica es una técnica muy eficiente para determinar la cantidad de clústeres y tener una visión general de cómo se agrupan los datos.

Cada una de las observaciones comienza en su propio grupo y luego los grupos se fusionan sucesivamente en función de la similitud de los datos.

Esta similitud se calcula a partir de una métrica de distancia, como la euclidiana.

Al final de todo el proceso de iteración, este algoritmo produce una visualización jerárquica de grupos en forma de árbol, denominada dendrograma.

A partir del dendrograma, es posible identificar qué datos son más similares entre sí y el número de clusters en que se dividirán los datos.

La imagen de abajo es una representación de un dendrograma, en el que los datos se dividieron en 3 grupos, en los colores naranja, verde y rojo.

El eje y representa la distancia de un registro a otro, lo que significa que los puntos más cercanos están en el mismo grupo y los puntos más distantes están en grupos diferentes:

Cuándo utilizar la clusterización jerárquica:

  • Cuando desee visualizar la estructura jerárquica de los datos.
  • Cuando no se conoce el número ideal de clusters.
  • Cuando los clústeres tienen formas y tamaños arbitrarios.

Conclusión

En este artículo, fue posible comprobar los siguientes algoritmos de clustering, sus diferencias y cuándo podemos utilizarlos:

  • K-medias
  • DBSCAN
  • Cambio medio
  • y la técnica de clusterizacion jerárquico

Es importante tener en cuenta que cada algoritmo tiene sus propias ventajas y limitaciones, y la elección del algoritmo correcto depende de la naturaleza de los datos y los objetivos del análisis.

Por último, si quieres profundizar aún más en el contenido de este artículo, te sugiero nuestra Formación en Machine Learning , donde un equipo de expertos te ayudará a avanzar aún más en tu carrera y te permitirá adquirir cada vez más conocimientos en el área.

Un abrazo y hasta luego.

Referencias

  • Documentación oficial de scikit-Learn: Sección de agrupamiento
  • Libro: Manual de análisis de datos
  • Artículo: Agrupamiento con Scikit y GIF

Créditos
Creación textual: Juan Víctor de Miranda
Articulo adaptado y traducido por Daysibel Cotiz.

Artículo Anterior
¿Qué es la inteligencia artificial?

Ver otros artículos sobre Data Science

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Una empresa del grupo Alun

Logo do grupo Alun

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast