Agrupación jerárquica en programación R

El agrupamiento jerárquico en el lenguaje de programación R es un algoritmo no lineal no supervisado en el que se crean grupos de manera que tengan una jerarquía (o un orden predeterminado). Por ejemplo, considere una familia de hasta tres generaciones. Un abuelo y una madre tienen a sus hijos que se convierten en padre y madre de sus hijos. Por lo tanto, todos se agrupan en la misma familia, es decir, forman una jerarquía.

R – Agrupación jerárquica

La agrupación jerárquica es de dos tipos: 

  • Agrupamiento jerárquico aglomerativo: comienza en hojas individuales y fusiona con éxito los grupos. Es un enfoque de abajo hacia arriba.
  • Agrupación jerárquica divisiva: comienza en la raíz y divide recursivamente las agrupaciones. Es un enfoque de arriba hacia abajo.

Teoría:

En el agrupamiento jerárquico, los objetos se clasifican en una jerarquía similar a una estructura en forma de árbol que se utiliza para interpretar modelos de agrupamiento jerárquico. El algoritmo es como sigue:  

  1. Convierta cada punto de datos en un grupo de un solo punto que forme N grupos.
  2. Tome los dos puntos de datos más cercanos y conviértalos en un grupo que forme grupos N-1 .
  3. Tome los dos grupos más cercanos y conviértalos en un grupo que forme N-2 grupos.
  4. Repita los pasos 3 hasta que solo haya un grupo.

El dendrograma es una jerarquía de grupos en la que las distancias se convierten en alturas. Agrupa n unidades u objetos, cada uno con función p en grupos más pequeños. Las unidades en el mismo grupo están unidas por una línea horizontal. Las hojas en la parte inferior representan unidades individuales. Proporciona una representación visual de los clústeres.
Regla del pulgar: la distancia vertical más grande que no corta ninguna línea horizontal define el número óptimo de grupos.

El conjunto de datos

mtcars (prueba de carretera de automóviles de tendencia del motor) comprende el consumo de combustible, el rendimiento y 10 aspectos del diseño del automóvil para 32 automóviles. Viene preinstalado con el paquete dplyr en R. 

R

# Installing the package
install.packages("dplyr")
   
# Loading package
library(dplyr)
   
# Summary of dataset in package
head(mtcars)

Producción:

Realización de agrupamiento jerárquico en conjunto de datos

Usando el algoritmo de agrupamiento jerárquico en el conjunto de datos usando hclust() que está preinstalado en el paquete de estadísticas cuando R está instalado.

R

# Finding distance matrix
distance_mat <- dist(mtcars, method = 'euclidean')
distance_mat
 
# Fitting Hierarchical clustering Model
# to training dataset
set.seed(240)  # Setting seed
Hierar_cl <- hclust(distance_mat, method = "average")
Hierar_cl
 
# Plotting dendrogram
plot(Hierar_cl)
 
# Choosing no. of clusters
# Cutting tree by height
abline(h = 110, col = "green")
 
# Cutting tree by no. of clusters
fit <- cutree(Hierar_cl, k = 3 )
fit
 
table(fit)
rect.hclust(Hierar_cl, k = 3, border = "green")

Producción:

  • Array de distancia:

  • Los valores se muestran según el cálculo de la array de distancia con el método euclidiano.
  • Modelo Hierar_cl:

  • En el modelo, el método de conglomerados es promedio, la distancia es euclidiana y no. de objetos son 32.
  • Trazar dendograma:

  • El dendograma de la trama se muestra con el eje x como array de distancia y el eje y como altura.
  • Árbol cortado:

  • Entonces, Tree se corta donde k = 3 y cada categoría representa su número de grupos.
  • Trazado del dendrograma después del corte:

  • La trama denota dendrograma después de ser cortado. Las líneas verdes muestran el número de grupos según la regla del pulgar.

Publicación traducida automáticamente

Artículo escrito por dhruv5819 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *