Función SciPy Cluster Hierarchy Dendrogram

  1. Sintaxis de scipy.cluster.hierarchy.dendrogram
  2. Ejemplo de dendograma de agrupamiento jerárquico

El agrupamiento jerárquico, también conocido como análisis de agrupamiento jerárquico, sigue un enfoque de arriba hacia abajo para agrupar objetos que son del mismo tipo en grupos conocidos como clústeres. Este es un algoritmo de aprendizaje automático no supervisado en el que todos los grupos o clústeres son diferentes entre sí.

Hay 2 tipos de agrupamiento jerárquico:

  • Agrupación divisiva: en este método, todos los objetos se agrupan en un grupo al principio y luego todos los objetos se dividen en dos grupos que tienen muy pocas similitudes. Este método sigue un enfoque de arriba a abajo.
  • Agrupación aglomerativa: en este método, los objetos se agrupan en un grupo propio. Este método sigue un enfoque de abajo hacia arriba.

Un dendrograma es un diagrama de visualización que es más un diagrama de árbol que ayuda a describir la relación entre todos los grupos predefinidos. La metodología más básica de un dendograma es que, cuanto mayor sea la distancia entre las líneas del dendograma, mayor será la distancia entre todos los grupos.

Sintaxis de scipy.cluster.hierarchy.dendrogram

scipy.cluster.hierarchy.dendrogram(Z,
                                    p = 30,
                                    truncate_mode = None,
                                    orientation = 'top')

Parámetros

Z Representa la matriz de enlace que se utiliza para codificar todo el agrupamiento jerárquico para definirlo como un dendrograma.
p Es el parámetro definido para truncate_mode
truncate_mode Debido a la gran matriz de observación original a partir de la cual se define el vínculo entre los grupos, el dendrograma puede ser difícil de estudiar. Este parámetro ayuda a hacer el dendograma compacto.
orientation Decide en qué dirección se traza el dendrograma. Por ejemplo, top. La orientación top significa que la base del dendrograma está en la parte superior y los enlaces van hacia abajo. Del mismo modo, otras orientaciones son bottom, left y right.

Todos estos parámetros son opcionales excepto el parámetro Z. Además, hay muchos más parámetros opcionales en esta función como color_threshold, get_leaves, distance_sort, etc.

Ejemplo de dendograma de agrupamiento jerárquico

import numpy as np
from scipy.cluster import hierarchy
import matplotlib.pyplot as plt

array = np.array([30, 60, 90, 120, 150, 180, 210, 240, 270, 300])

clus = hierarchy.linkage(array, 'complete')
plt.figure()
  
den = hierarchy.dendrogram(clus, above_threshold_color="black", color_threshold = 0.8,  orientation='right')

Producción:

scipy clúster jerarquía dendrogram.png

Aquí, tenga en cuenta que hemos utilizado el algoritmo complete linkage para hacer el agrupamiento jerárquico. Además, la base del dendrograma está en el lado derecho y los enlaces están cayendo hacia la izquierda porque el parámetro orientation se define como right.