최대 1 분 소요


※ Hierarchical Clustering in R (계층적 군집분석)

■ 유사도 행렬 생성

  • parameter
    • method : 거리 측정 방식 (“euclidean” / “maximum” / “manhattan” / “canberra” / “binary” / “minkowski” 등)
> dist(data, method)


■ 군집 구성

  • parameter
    • method : 군집 구성 방법 (“single” / “complete” / “average” / “centroid” / “ward.D2” 등)
> hclust(data, method)
> df.dist <- dist(data, method = "euclidean")

> hclust(df.dist, method = "single")
> hclust(df.dist, method = "complete")
> hclust(df.dist, method = "average")
> hclust(df.dist, method = "centroid")
> hclust(df.dist, method = "ward.D2")


■ dendrogram 생성 & 군집 시각화

  • plot
    • dendrogram 생성
    • parameter
      • cex : 글자 크기
      • hang : -1로 하면 줄기가 바닥에서 나오게 설정가능
  • rect.hclust
    • 군집간 경계를 그려, 군집이 어떻게 나뉘는지 확인가능
    • parameter
      • k : 군집 개수
      • border : 경계선 색깔
> df.hclust <- hclust(df.dist, method = "single")

> plot(df.hclust, cex = 0.6, hang = -1)
> rect.hclust(df.hclust, k = 4, border = 2:5)


■ raw data에 cluster 할당

> cutree(data, k)
> df.clusters <- cutree(df.hclust, k = 4)
> data$cluster <- df.clusters


■ 2차원 시각화

> fviz_cluster()

댓글남기기