UNIR Revista
El clustering consiste en agrupar ítems en grupos con características similares y se utiliza para determinar patrones climáticos, agrupar artículos por temas o para segmentar clientes.
Dentro de las técnicas descriptivas de Machine Learning basadas en análisis estadístico –utilizado para el análisis de datos en entornos Big Data–, encontramos el clustering, cuyo objetivo es formar grupos cerrados y homogéneos a partir de un conjunto de elementos que tienen diferentes características o propiedades, pero que comparten ciertas similitudes.
El procesado de los datos provenientes del Big Data, o proceso de Data Science, consiste en varios subprocesos:
- Adquirir los datos de las distintas fuentes: archivos, webs, BBDD, sensores, etc.
- Prepararlos para ser analizados: explorarlos y tratarlos para que aporten información de valor (limpiarlos, integrarlos, etc.).
- Analizarlos: seleccionar las técnicas adecuadas para obtener información de valor (regresión, clasificación, clustering, asociación…) y construir el modelo analítico.
- Comunicación de los resultados o reporting: construir los informes y visualizaciones adecuadas para transmitir la información obtenida en el proceso de análisis.
- Actuar en base a la información obtenida.
Para el desarrollo de un modelo de análisis de datos basado en clustering debemos tener algunos aspectos en consideración:
- La calidad de los datos.
- El número total de grupos a calcular.
- Las diferencias entre cada grupo y el tamaño del cluster.
- La jerarquía a la hora de definir esos grupos.
Aplicación del clustering
Algunos ejemplos de uso de las técnicas de clustering son:
- Segmentación de clientes en grupos.
- Determinar los distintos patrones climáticos de una región.
- Agrupar artículos o noticias por temas.
- Descubrir zonas con elevadas tasas de criminalidad.
Quizá el uso más extendido del clustering sea en tareas de segmentación de mercado, donde se trata de agrupar una base de datos de clientes en distintos segmentos o grupos. Cada uno de ellos está caracterizado por unas ciertas propiedades que ayudan a describir cómo son, cómo se comportan y cuáles son sus intereses, para poder ofrecerles productos y servicios personalizados y adecuados a sus gustos e intereses.
Cada persona o cliente debe pertenecer a un único grupo y estos deben estar compuestos por personas lo más parecidas posibles, pero ser lo más diferente posible del resto de grupos.
k-Means, uno de los principales algoritmos de clustering
Un algoritmo de clustering muy extendido y que permite entender la técnica de manera sencilla es el k-Means, el cual:
- Determina las variables (características o propiedades) que se van a utilizar para agrupar los datos.
- Selecciona k centroides (centros de los grupos, clusters o segmentos). La selección del número de centroides k se puede hacer mediante la observación de las muestras o métodos como el del codo (elbow). Este método consiste en la ejecución del algoritmo de clustering k-Means para un rango de valores de k y luego calcula la varianza en la distancia de los miembros del cluster a su centroide, el valor óptimo de k será aquel que satisfaga que un incremento en el número de centroides k no mejore sustancialmente la varianza.
- Repite hasta que no haya cambios en los centroides.
- Asignar cada muestra al centroide más cercano: se pueden utilizar distintas métricas para calcular la distancia a los centroides (euclídea, Manhattan, similitud de coseno…).
- Calcular la media del cluster para determinar centroides más exactos.
Los clusters, grupos o segmentos resultantes calculados con este algoritmo dependen de la selección inicial de centroides, por lo que debemos ejecutar el algoritmo múltiples veces con una selección inicial aleatoria de centroides y elegir los mejores resultados obtenidos en toda la serie de iteraciones.
En resumen, el clustering es un conjunto de técnicas utilizado para analizar el Big Data y poder formar grupos, clusters o segmentos de datos, muy utilizado para propósitos de marketing y comerciales (segmentación de clientes).
- Máster Universitario en Big Data & Visual Analytics