¿Qué son los algoritmos de clustering?: conoce los mejores

| Última modificación: 14 de octubre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En el proceso de aprender machine learning y análisis de datos, habrás encontrado que los algoritmos de clustering son súper comunes. Esto se debe a que son herramientas muy importantes para descubrir patrones ocultos en conjuntos de datos sin etiquetas. Es decir, los algoritmos de clustering son los encargados de agrupar elementos según sus similitudes, creando así clústeres o grupos de datos que comparten ciertas características.

Hoy queremos contarte en qué consisten estos algoritmos de clustering, cómo funcionan y cuáles son los más efectivos según tus requerimientos.

¿Qué son los algoritmos de clustering?

Los algoritmos de clustering tienen como objetivo principal agrupar un conjunto de datos en grupos que sean lo más similares posible dentro de sí mismos y lo más diferentes posible de los demás grupos. En momentos en donde no hay etiquetas o clasificaciones previas, los algoritmos de clustering son bastante útiles, por ejemplo en los casos de análisis exploratorio de datos o en la segmentación de clientes.

El clustering es una técnica de aprendizaje no supervisado, esto quiere decir que se utiliza cuando no se tienen etiquetas predefinidas en el dataset. Los algoritmos de clustering identifican las relaciones subyacentes dentro de los datos y agrupan los elementos con base en estas relaciones.

Tipos de algoritmos de clustering

Entre los distintos tipos de algoritmos de clustering, cada uno tiene su enfoque y metodología para agrupar datos. Veamos algunos de ellos y para qué ocasiones son útiles:

K-means

El k-means es probablemente de los algoritmos de clustering más conocidos y usados. Funciona por medio de la división del conjunto de datos en K clústeres, donde K es un valor ya predeterminado. Este algoritmo selecciona de manera aleatoria K puntos que funcionan como centroides y asigna cada punto del dataset al clúster cuyo centroide esté más cercano. Acto seguido, se recalculan los centroides y se repite el proceso hasta que los centroides dejen de cambiar de manera significativa.

Si bien es un método muy sencillo y eficiente, tiene algunas desventajas, entre las que se encuentra la necesidad de especificar el número de clústeres de antemano y su sensibilidad a la elección de los centroides iniciales.

Tipos de algoritmos de clustering: k means

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

DBSCAN es un algoritmo de clustering basado en densidad que agrupa puntos cercanos si están dentro de un cierto radio y si hay suficientes puntos dentro de ese radio para considerarse un clúster. A diferencia de K-means, DBSCAN no requiere que especifiques el número de clústeres de antemano y puede detectar clústeres de forma arbitraria, también puede identificar puntos atípicos, llamados outliers.

Este es uno de los algoritmos de clustering más usados para datasets con clústeres de formas irregulares y con ruido, no obstante, su rendimiento puede ser variable, dependiendo de la elección de parámetros como el radio de agrupación (ε) y el número mínimo de puntos por clúster (MinPts).

Mean Shift

El algoritmo Mean Shift es otra técnica basada en la densidad que funciona desplazando iterativamente los puntos de datos hacia las zonas de mayor densidad. En casos en donde desconocemos el número de clústeres, podemos usarlo muy bien, y a que este detecta automáticamente el número adecuado, basándose en la densidad de los datos.

Sin embargo, Mean Shift puede ser computacionalmente costoso y no siempre funciona bien con datos de alta dimensión.

AGNES (Agglomerative Nesting)

AGNES es un algoritmo de clustering jerárquico aglomerativo que construye un árbol de clústeres o dendrograma, uniendo inicialmente los clústeres más pequeños (generalmente, cada punto de datos es su propio clúster) y luego fusionándolos según su proximidad hasta que todos los puntos formen un solo clúster. Una desventaja de AGNES es que puede ser computacionalmente intensivo y no es adecuado para datasets muy grandes.

Cómo elegir el mejor algoritmo de clustering

Hagamos un pequeño resumen de, entre los algoritmos de clustering, cuál es el que más te conviene según tus necesidades:

  • K-means es ideal para datasets con clústeres de forma circular o esférica y con tamaños similares.
  • DBSCAN es excelente para datos con clústeres de formas arbitrarias y cuando se espera encontrar ruido o outliers.
  • Mean Shift es útil cuando no se conoce el número de clústeres de antemano, pero puede ser costoso computacionalmente.
  • AGNES es adecuado para comprender la estructura jerárquica de los datos y para datasets donde los clústeres están bien separados.

Métricas de evaluación de clústeres

Evaluar la calidad de un algoritmo de clustering puede ser complicado, pero existen varias métricas que pueden ayudarte, a saber:

  • Índice de Silueta: Mide qué tan cerca están los puntos dentro de un clúster y qué tan lejos están de los puntos de otros clústeres. Un valor cercano a 1 indica clústeres bien definidos.
  • Inercia: Es la suma de las distancias al cuadrado desde cada punto hasta su centroide. Es útil en K-means para evaluar la compacidad de los clústeres.
  • Índice de Davies-Bouldin: Evalúa la compacidad y la separación de los clústeres. Un valor bajo indica clústeres compactos y bien separados.

Si te apasiona el mundo del machine learning y quieres aprender a implementar estos algoritmos para resolver problemas reales, KeepCoding ha creado el bootcamp en big data, con el cual aprenderás todo lo necesario para convertirte en data scientist. Conviértete en un experto en análisis de datos y machine learning y aprovecha las enormes oportunidades laborales que ofrece el sector de la programación y desarrollo de software. ¡No pierdas la oportunidad de cambiar tu vida y asegurar tu futuro profesional!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado