세조목

머신러닝 - 클러스터링(계층적 군집화) 본문

데이터 분석 공부/머신러닝

머신러닝 - 클러스터링(계층적 군집화)

세조목 2024. 4. 2. 12:06

1. 계층적 군집화

  • 상향식 군집화(일반적임)
  • 하향식 군집화

장점

군집의 갯수를 정해줄 필요가 없다.

군집 간 계층적 관계를 찾아낼 수 있다.

 

방법

  • Single Linkage : 두 군집 사이 최소 거리 이용
  • Complete Linkage : 두 군집 사이 최대 거리 이용
  • Average Linkage : 포인트와 포인트 사이 모든 거리의 평균
  • Centroid Linkage : 각 군집의 centroid(무게 중심) 값 사이 거리
  • Ward Linkage(가장 많이 사용되며 계층적 군집화 라이브러리 기본값으로 지정되어있음)
    • 클러스터 내 각각의 centroid와 거리의 제곱합(SSE) 계산
    • 두 클러스터를 하나의 군집으로 만들었을 때의 새로운 평균과의 거리제곱합 계산
    • 그 차이 = Ward Distance / 이 값이 가장 작은 경우 두 클러스터를 합침 

 ※ Linkage(=Distance)

 

진행 방식

  • 각각의 데이터를 하나의 군집으로 정의하고, 거리가 가장 가까운 두개의 군집을 하나로 합쳐나감
  • 최종적으로 하나의 군집으로 묶일 때까지 반복함

 

2. 덴드로그램

정의

나무(dendron)를 나타내는 다이어그램(gramme)

 

작성 과정

  1. 거리가 가장 가까운 두 군집을 'ㄷ' 을 오른쪽으로 돌린 형태로 이어줌
  2. 나무의 높이가 두 군집 사이의 거리가 됨
  3. 데이터와 데이터 사이를 이을 때는 가로축에 나열된 두 점을 이으면 됨
  4. 데이터와 군집 사이를 이을 땐느 데이터와 군집의 가운데 점을 이으면 됨
  5. 거리가 가까운 순으로 계속해서 모든 데이터가 하나의 군집으로 묶일 때까지 위 작업을 반복함