데이터 분석 공부/머신러닝
머신러닝 - 클러스터링(계층적 군집화)
세조목
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)
작성 과정
- 거리가 가장 가까운 두 군집을 'ㄷ' 을 오른쪽으로 돌린 형태로 이어줌
- 나무의 높이가 두 군집 사이의 거리가 됨
- 데이터와 데이터 사이를 이을 때는 가로축에 나열된 두 점을 이으면 됨
- 데이터와 군집 사이를 이을 땐느 데이터와 군집의 가운데 점을 이으면 됨
- 거리가 가까운 순으로 계속해서 모든 데이터가 하나의 군집으로 묶일 때까지 위 작업을 반복함