Please enable JavaScript.
Coggle requires JavaScript to display documents.
Agrupación jerárquica :silhouettes: - Coggle Diagram
Agrupación jerárquica :silhouettes:
¿Que es?
Definicion
Organiza datos por similitud de forma jerárquica, creando un árbol de grupos visualizado en un dendrograma.
Dendrograma
Representación gráfica de cómo se unen los clusters
Ramas bajas → elementos muy similares
Ramas altas → elementos muy diferentes
Aplicaciones
Segmentación de clientes.
Clasificación biológica.
Reconocimiento de imágenes.
Recomendación de productos.
Análisis de redes sociale
Importancia
Clasificación automática de volúmenes de datos mediante el descubrimiento de sus patrones y similitudes.
Tipos de agrupación
Aglomerativo
Empieza con cada dato por individual como cluster y los fusiona iterativamente
Cada punto es un cluster
Calcula distancias
Fusiona los dos mas cercanos
Repite hasta tener un solo gran cluster
Divisivo
Empieza con todos los datos como un sólo cluster y los divide recursivamnete
Más costoso computacionalmente
Menos soportados por librerías estándar
Criterios de vinculación
Enlace completo
Distancia máxima (puntos más lejanos)
Crea culsters compactos
Enlace medio
Distancia promedio entre todos los puntos
Es el equlibrio
Enlace simple
Distancia mínima (puntos más cercanos)
Puede crear clusters alargados
Método de Ward
Minimiza suma de diferencias al cuadrado dentro de los clusters
Crea grupos esféricos y uniformes
Métricas de distancia
Euclidiana: Línea recta (ideal para datos geométricos)
Manhattan: Suma de diferencias absolutas (ideal para cuadriculas o finanzas)
Coseno: Mide el ángulo entre vectores (ideal para texto/frecuencia de palabras)
Agrupación Jerárquica vs K - Means
Escabilidad lenta en datasets grandes
Interpretación alta gracias al dendograma
El cluster maneja formas complejas
El número de clusters no se tiene que definir
Implementación en Phyton
Librerias principales: scipy.cluster.hierarchy (para linkage y dendogram) y sklearn
Preprocesamiento obligatorio: Escalado de datos (StandardScaler) porque el algoritmo se basa en distancias
Proceso: Generar matriz de enlace → linkage(datos, method='ward')
Graficar el dendograma para decidir el corte
Asignar etiquetas finales → fcluster(linkage_matrix, t=3, criterion='maxclust')
Ventajas y desventajas
Sin clusters previos :check:
Visualizacion intuitiva :check:
Alto costo computacional :red_cross:
Sensible al ruido y outliers :red_cross:
No hay reasignación :red_cross: