Función SciPy Cluster Hierarchy Dendrogram
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:
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
.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn