Introduction
Hierarchical clustering builds a hierarchy of clusters. It doesn't require specifying the number of clusters upfront.
Implementing
# Compute distances
dist_matrix <- dist(df_scaled)
# Hierarchical clustering
hc <- hclust(dist_matrix, method = "ward.D")
# Methods: "single", "complete", "average", "ward.D"
Dendrogram
# Plot dendrogram
plot(hc)
# Cut tree into clusters
clusters <- cutree(hc, k = 3)
# Cut at height
clusters <- cutree(hc, h = 5)
Different Linkages
# Single linkage
hc_single <- hclust(dist_matrix, method = "single")
# Complete linkage
hc_complete <- hclust(dist_matrix, method = "complete")
# Average linkage
hc_average <- hclust(dist_matrix, method = "average")
Visualization
library(factoextra)
fviz_dend(hc, k = 3)
Summary
Hierarchical clustering shows data structure. Use dendrogram to decide cluster count.