Introducción a la agrupación jerárquica en R
La agrupación jerárquica en R es la forma más común de aprendizaje. La agrupación es uno de los algoritmos de aprendizaje automático que toma las inferencias de los datos sin etiquetar.
Existen principalmente dos tipos de algoritmo de aprendizaje automático:
- Algoritmos de aprendizaje supervisados
- Algoritmos de aprendizaje no supervisados
Los algoritmos de aprendizaje supervisados son una categoría de algoritmo de aprendizaje automático en el que la máquina está aprendiendo de los datos etiquetados. Un ejemplo de algoritmos de aprendizaje supervisados es la clasificación y la regresión. Los algoritmos de aprendizaje no supervisados son una categoría de algoritmo de aprendizaje automático en el que la máquina está aprendiendo de los datos no etiquetados. Un ejemplo de algoritmos de aprendizaje no supervisados son los algoritmos de agrupamiento.
¿Cómo funciona el agrupamiento?
Los algoritmos de agrupación agrupan un conjunto de puntos de datos similares en agrupaciones. El objetivo principal del algoritmo de agrupamiento es crear grupos de puntos de datos que sean similares en las características. En otras palabras, los puntos de datos dentro de un grupo son similares y los puntos de datos en un grupo son diferentes de los puntos de datos en otro grupo.
Existen principalmente usos de dos enfoques en el algoritmo de agrupamiento jerárquico, como se indica a continuación:
1. Aglomerativo
Comienza con cada observación en un solo grupo, y en función de la medida de similitud en la observación, fusiona más los grupos para formar un solo grupo hasta que no sea posible una fusión adicional, este enfoque se llama enfoque aglomerativo.
2. Divisivo
Comienza con todas las observaciones en un solo grupo y más divisiones basadas en la medida de similitud o el grupo de medidas de disimilitud hasta que no sea posible la división, este enfoque se llama un método divisivo.
Ahora comencemos los algoritmos de agrupamiento jerárquico, el agrupamiento jerárquico se puede realizar de arriba hacia abajo o de abajo hacia arriba. Comenzamos con un enfoque de abajo hacia arriba o aglomerativo, donde comenzamos a crear un grupo para cada punto de datos y luego fusionamos grupos basados en alguna medida de similitud en los puntos de datos. El siguiente punto importante es cómo podemos medir la similitud. Hay muchas matrices de distancia disponibles, como Euclidean, Jaccard, Manhattan, Canberra, Minkowski, etc. para encontrar la medida de disimilitud. La elección de la matriz de distancia depende del tipo de conjunto de datos disponible, por ejemplo, si el conjunto de datos contiene valores numéricos continuos, entonces la mejor opción es la matriz de distancia euclidiana, mientras que si el conjunto de datos contiene datos binarios, la buena opción es Jaccard matriz de distancia y así sucesivamente.
Implementación de agrupación jerárquica en R
Los pasos necesarios para realizar la implementación de la agrupación jerárquica en R son:
1. Instale todos los paquetes R necesarios
Vamos a usar los siguientes paquetes, así que instale todos estos paquetes antes de usar:
install.packages ( "cluster" ) # for clustering algorithms
install.packages ( "tidyverse" ) # for data manipulation
install.packages ( "factoextra" ) # for clustering visualization
# includes package in R as –
library ( "cluster" )
library( "tidyverse" )
library( "factoextra" )
2. Preparación de datos
Los datos se preparan para el análisis jerárquico de conglomerados, este paso es muy básico e importante, necesitamos realizar principalmente dos tareas aquí que son escalar y estimar el valor faltante. Los datos deben ser escalados o estandarizados o normalizados para que las variables sean comparables. El escalado o estandarizado o normalizado es un proceso de transformación de las variables para que tengan una desviación estándar de uno y media cero.
Si en nuestro conjunto de datos hay algún valor perdido, es muy importante imputar el valor faltante o eliminar el punto de datos en sí. Hay diferentes opciones disponibles para imputar el valor faltante, como el valor promedio, la media y la mediana para estimar el valor faltante. Por ejemplo, usamos aquí el conjunto de datos incorporado del iris, en el que queremos agrupar el tipo de plantas de iris, el conjunto de datos del iris contiene 3 clases para cada clase de 50 instancias. Contiene 5 características como Sepal. Longitud, ancho sepal, pétalo, longitud, pétalo, ancho y especie.
El código R:
data <- iris
print(data)
# the sample of data set showing below which contain 1 sample for each class
“Sepal.Length” “Sepal.Width” “Petal.Length” “Petal.Width” “Species”
1 4.9 3.5 1.3 0.2 setosa
51 7.0 3.1 4.5 1.3 Versicolor
101 6, 3 3, 2 6, 0 1, 9 Virginia
data <- na.omit(data) # remove missing value
data <- scale(df) # scaling the variables or features
3. Especifique qué algoritmos de agrupamiento jerárquico utilizando
Los diferentes tipos de algoritmos de agrupación jerárquica como agrupación jerárquica aglomerativa y agrupación jerárquica divisiva están disponibles en R. Las funciones requeridas son:
- Agrupación jerárquica aglomerativa (HC): función hclust que está disponible en el paquete de estadísticas y función Agnes que está disponible en el paquete de clúster) para
- Agrupación jerárquica divisiva: función Diana que está disponible en el paquete de agrupación.
4. Cálculo de agrupamiento jerárquico
Para calcular la agrupación jerárquica, se debe calcular la matriz de distancia y colocar el punto de datos en la agrupación correcta. Hay diferentes formas de calcular la distancia entre el grupo, como se muestra a continuación:
Enlace completo: la distancia máxima se calcula entre grupos antes de fusionarse.
Enlace único: la distancia mínima se calcula entre los grupos antes de fusionarse.
Enlace promedio: calcula la distancia promedio entre grupos antes de fusionar.
Código R:
cluster <- hclust(data, method = "average" )
Enlace centroide: la distancia entre los dos centroides de los clústeres se calcula antes de fusionarse.
Código R:
# matrix of Dissimilarity
dis_mat <- dist(data, method = "euclidean")
# Hierarchical clustering using Complete Linkage
cluster <- hclust(data, method = "complete" )
# or Compute with agnes
cluster <- agnes(data, method = "complete")
5. Dendrogramas
El dendrograma se usa para administrar el número de grupos obtenidos. Realiza lo mismo que en k-significa k realiza para controlar el número de agrupamiento. La función actual que podemos usar para cortar el dendrograma.
Código R:
cutree(as.hclust(cluster), k = 3)
El código R completo:
ibrary(scatterplot3d)
data <- iris
print( data )
data <- na.omit(data)
data <- scale(data)
# matrix of Dissimilarity
dis_mat <- dist(data, method = "euclidean")
# creating hierarchical clustering with Complete Linkage
cluster <- hclust(data, method = "complete" )
# Dendrogram plot
plot(cluster)
# or agnes can be used to compute hierarchical clustering
Cluster2 <- agnes(data, method = "complete")
# Dendrogram plot
plot(cluster2)
La trama del código R anterior:
Conclusión
Existen principalmente dos tipos de algoritmos de aprendizaje automático, algoritmos de aprendizaje supervisado y algoritmos de aprendizaje no supervisados. Los algoritmos de agrupamiento son un ejemplo de algoritmos de aprendizaje no supervisados. Los algoritmos de agrupación agrupan un conjunto de puntos de datos similares en agrupaciones. Hay principalmente usos de dos enfoques en el algoritmo de agrupamiento jerárquico, como se muestra a continuación, el agrupamiento jerárquico aglomerativo y el agrupamiento jerárquico divisivo.
Artículos recomendados
Esta es una guía para la agrupación jerárquica en R. Aquí discutimos cómo funciona la agrupación y la implementación de la agrupación jerárquica en R en detalle. También puede consultar nuestros otros artículos relacionados para obtener más información.
- Algoritmo de agrupamiento
- ¿Qué es el agrupamiento en minería de datos?
- Métodos de agrupamiento
- Métodos de aprendizaje automático
- Descripción general del análisis de agrupamiento jerárquico
- Lista de paquetes R