Lección 4 del curso Clustering en el Machine Learning.
En la lección anterior vimos qué es y cómo funciona el método de clustering con K-Means, uno de los métodos más simples para el agrupamiento de datos.
En esta lección veremos qué es y en qué consiste el agrupamiento jerárquico de datos usando el enfoque aglomerativo. Así que vamos a entender los detalles de este algoritmo de clustering, sus ventajas y sus desventajas y veremos además un par de ejemplos prácticos en Python con ayuda de la librería Scikit-Learn.
Comencemos entonces viendo los detalles de este algoritmo:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
En esencia el clustering jerárquico aglomerativo comienza tratando cada punto como un cluster independiente y, progresivamente, va uniendo los dos clusters más similares según una métrica de distancia.
Y el proceso se repite hasta que todos los puntos son agrupados en un único cluster. Al final, tendremos una estructura en forma de árbol conocida como dendrograma que nos permite visualizar cómo se fusionan los clusters a diferentes distancias.
Teniendo claro este principio de funcionamiento, veamos un primer ejemplo de uso de este algoritmo sobre un set de datos y con ayuda de Scikit-Learn:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Como acabamos de ver, el uso del módulo «AgglomerativeClustering» de Scikit-Learn nos permite implementar el clustering jerárquico.
En este caso, debemos simplemente especificar el número de clusters a obtener, el cual podemos obtener bien sea graficando el dendrograma (con ayuda de la librería Scipy) o construyendo múltiples modelos, cada uno con un valor de k (el número de clusters) diferente y luego calculando el puntaje silueta de cada uno de ellos y finalmente escogiendo aquel modelo que arroje el puntaje silueta más alto.
Así que habiendo visto este sencillo ejemplo de uso del clustering aglomerativo, veamos ahora cómo usar este método para generar agrupaciones en un set de datos real:
Contenido exclusivo para suscriptores
Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.
Muy bien. En este ejemplo práctico hemos usado un set de datos que contiene variables numéricas que caracterizan diferentes ciudades (como por ejemplo la calidad del transporte público, la densidad de población y el nivel de acceso a internet, entre otras).
Y hemos visto cómo usar el clustering aglomerativo en Scikit-Learn, junto con herramientas como el dendrograma y el puntaje silueta, para determinar el número más adecuado de agrupaciones (que en este caso fue de dos).
Además, vimos cómo usar los gráficos de radar para comparar las dos agrupaciones obtenidas en términos de las características de las ciudades que conforman estos clusters, lo que nos permitió analizar en detalle cada agrupación.
Así que con esto hemos completado este segundo módulo del curso donde hemos visto dos de los métodos de agrupamiento más simples: el clustering con K-Means y el clustering jerárquico.
En el tercer módulo del curso veremos métodos más sofisticados de agrupamiento, comenzando con el método DBSCAN que permite realizar el agrupamiento de datos con base en su densidad.
Todas las lecciones del curso Clustering en el Machine Learning
