계층적 군집 분석
1. 개요
1. 개요
계층적 군집 분석은 데이터 포인트들을 유사성에 따라 계층적인 트리 구조로 조직하는 군집 분석 기법이다. 이 방법은 데이터의 중첩된 군집 구조를 시각적으로 표현하는 덴드로그램을 생성하는 것이 특징이다.
분석은 주로 두 가지 방식으로 진행된다. 하나는 각 데이터 포인트를 개별 군집으로 시작하여 가장 유사한 군집들을 반복적으로 병합해 나가는 상향식 군집 분석이다. 다른 하나는 모든 데이터를 하나의 군집으로 시작하여 반복적으로 분할하는 하향식 군집 분석이다. 이 중 병합 방식이 더 널리 사용된다.
이 방법은 사전에 군집의 개수를 지정할 필요가 없다는 장점을 지닌다. 대신, 생성된 덴드로그램을 분석하여 적절한 군집 수를 사후에 결정한다. 이는 K-평균 군집화 같은 비계층적 군집 분석 방법과 대비되는 특징이다.
계층적 군집 분석은 생물정보학에서 유전자나 종의 분류, 마케팅에서 고객 세분화, 문서 군집화, 사회 네트워크 분석 등 다양한 분야에서 활용된다. 그러나 모든 데이터 포인트 쌍 간의 거리를 계산해야 하므로 대규모 데이터셋에 적용할 때 계산 비용이 높아질 수 있다는 단점도 존재한다.
2. 기본 개념과 원리
2. 기본 개념과 원리
계층적 군집 분석은 데이터 포인트들 사이의 유사도나 거리를 기반으로 계층적인 트리 구조를 형성하는 군집 분석 방법이다. 이 방법의 핵심은 각 데이터 포인트를 개별 군집으로 시작하여 점차 병합하거나(상향식), 또는 하나의 큰 군집으로 시작하여 점차 분할(하향식)하여 최종 군집 구조를 만들어내는 것이다.
분석의 첫 단계는 데이터 포인트 간의 유사도 또는 거리를 정량화하는 것이다. 일반적으로 사용되는 거리 측정 방법에는 유클리드 거리, 맨해튼 거리, 코사인 유사도 등이 있다. 이 계산 결과는 모든 데이터 쌍 간의 거리 정보를 담은 거리 행렬로 표현된다. 이 행렬은 이후 군집 병합 또는 분할의 기준이 된다.
계층적 군집 분석은 주로 두 가지 접근법으로 나뉜다. 첫 번째는 병합적(상향식) 군집 분석이다. 이 방법은 각 데이터 포인트를 하나의 군집으로 간주하고, 가장 유사한(거리가 가까운) 두 군집을 반복적으로 병합하여 점점 더 큰 군집을 형성해 나간다. 모든 데이터가 하나의 군집이 될 때까지 이 과정이 계속된다. 두 번째는 분할적(하향식) 군집 분석이다. 이 방법은 모든 데이터를 하나의 군집으로 시작하여, 내부적으로 이질성이 큰 군집을 반복적으로 분할하여 더 작은 군집들을 생성한다.
접근법 | 시작점 | 진행 방향 | 주요 특징 |
|---|---|---|---|
N개의 개별 군집 | 작은 군집 → 큰 군집 | 더 일반적으로 사용되며, 덴드로그램 생성에 적합하다. | |
1개의 전체 군집 | 큰 군집 → 작은 군집 | 계산 비용이 더 클 수 있으며, 상대적으로 덜 사용된다. |
이러한 과정을 통해 생성된 계층 구조는 덴드로그램이라는 트리 다이어그램으로 시각화된다. 덴드로그램의 y축(또는 높이)은 군집이 병합되거나 분할되는 시점의 거리 또는 비유사도를 나타내며, 이를 통해 군집 간의 관계와 적절한 군집 수를 결정하는 데 도움을 얻는다.
2.1. 유사도와 거리 측정
2.1. 유사도와 거리 측정
계층적 군집 분석에서 군집을 형성하는 핵심은 개체들 간의 유사도 또는 거리를 정량화하는 것이다. 유사도가 높거나 거리가 가까운 개체들을 같은 군집으로 묶는 것이 기본 원리이다. 따라서 적절한 거리 측정 방법을 선택하는 것은 분석 결과에 결정적인 영향을 미친다.
거리 측정은 분석 대상 데이터의 유형과 특성에 따라 달라진다. 가장 일반적인 수치형 데이터의 경우, 유클리드 거리가 널리 사용된다. 이는 다차원 공간에서 두 점 사이의 직선 거리를 계산한다. 다른 대표적인 거리 척도로는 맨해튼 거리(도시 블록 거리)와 민코프스키 거리가 있다. 민코프스키 거리는 매개변수에 따라 유클리드 거리나 맨해튼 거리를 일반화한 형태이다. 데이터의 척도가 다르거나 상관관계가 있을 경우, 마할라노비스 거리를 사용하여 공분산 구조를 고려할 수 있다.
거리 척도 | 공식 (두 벡터 x, y 간) | 주요 특징 |
|---|---|---|
√(Σ(xᵢ - yᵢ)²) | 가장 일반적인 직선 거리 | |
Σ\ | xᵢ - yᵢ\ | |
(x·y)/(\ | x\ | |
1 - (\ | A∩B\ |
범주형 데이터를 다룰 때는 해밍 거리나 자카드 거리 같은 척도가 적합하다. 해밍 거리는 두 문자열이 같은 위치에서 값이 다른 항목의 개수를 세며, 자카드 거리는 두 집합의 유사도를 기반으로 한다. 또한 텍스트나 이미지 분석에서 방향의 유사성을 중요시할 경우, 실제 거리 대신 코사인 유사도를 유사성 지표로 사용하기도 한다. 모든 거리 측정법은 분석 목적과 데이터의 본질에 맞게 선택되어야 하며, 필요시 데이터를 표준화하거나 정규화하는 전처리 과정이 선행된다.
2.2. 병합(상향식)과 분할(하향식) 접근법
2.2. 병합(상향식)과 분할(하향식) 접근법
계층적 군집 분석은 크게 두 가지 전략적 접근법을 사용한다. 하나는 작은 군집에서 시작해 점점 큰 군집으로 합쳐가는 병합 군집 분석이며, 다른 하나는 큰 군집에서 시작해 점점 작은 군집으로 나누어가는 분할 군집 분석이다. 이 두 방법은 군집 구조를 만들어가는 방향이 정반대이다.
병합 접근법은 상향식 또는 응집형 방식으로도 불린다. 이 방법은 초기에 각 데이터 포인트를 하나의 군집으로 간주한다. 그런 다음, 가장 유사하거나 거리가 가까운 두 군집을 반복적으로 병합하여 더 큰 군집을 형성한다. 이 과정은 모든 데이터가 하나의 군집으로 합쳐질 때까지 계속된다. 병합 방법은 가장 일반적으로 사용되는 계층적 군집 분석의 접근법이다. 대표적인 알고리즘으로는 AGNES가 있다.
분할 접근법은 하향식 또는 분리형 방식으로 불린다. 이 방법은 초기에 모든 데이터를 하나의 군집으로 간주한다. 그런 다음, 군집 내 이질성이 가장 큰 군집을 반복적으로 두 개의 하위 군집으로 분할한다. 이 과정은 각 데이터 포인트가 별도의 군집이 되거나, 사전에 정의된 군집 수에 도달할 때까지 계속된다. 분할 방법은 계산 복잡도가 높은 경우가 많아 상대적으로 덜 사용된다. 대표적인 알고리즘으로는 DIANA가 있다.
두 접근법의 주요 차이점은 다음과 같이 정리할 수 있다.
특성 | 병합 (상향식) 접근법 | 분할 (하향식) 접근법 |
|---|---|---|
시작점 | N개의 군집 (각 데이터 포인트) | 1개의 군집 (전체 데이터) |
과정 | 군집을 반복적으로 병합 | 군집을 반복적으로 분할 |
계산 복잡도 | 일반적으로 O(n³) 수준 | 일반적으로 더 높은 복잡도 |
사용 빈도 | 매우 일반적 | 상대적으로 덜 일반적 |
대표 알고리즘 |
대부분의 실제 응용과 소프트웨어 구현에서는 병합 접근법이 주로 사용된다. 이는 알고리즘이 직관적이고, 덴드로그램 생성이 용이하며, 다양한 연결 방법을 적용하기 쉬운 구조를 가지기 때문이다.
3. 연결 방법 (Linkage Methods)
3. 연결 방법 (Linkage Methods)
계층적 군집 분석에서 연결 방법은 군집을 병합하거나 분할할 때, 서로 다른 두 군집 간의 거리 또는 유사도를 어떻게 정의할지를 결정하는 규칙이다. 이 방법의 선택은 최종 군집 구조에 큰 영향을 미치므로, 데이터의 특성과 분석 목적에 맞게 신중하게 선택해야 한다.
주요 연결 방법으로는 단일 연결, 완전 연결, 평균 연결, 중심 연결, 와드 연결 등이 있다. 각 방법은 군집 간 거리를 계산하는 방식이 다르다. 아래 표는 주요 연결 방법의 특징을 요약한 것이다.
연결 방법 | 거리 정의 | 군집 형태 | 주요 특징 |
|---|---|---|---|
단일 연결 | 두 군집 내 가장 가까운 점 사이의 거리 | 길쭉한 체인 형태 | |
완전 연결 | 두 군집 내 가장 먼 점 사이의 거리 | 조밀하고 구형 형태 | 최대 거리법. 군집 내 변동을 최소화. |
평균 연결 | 두 군집 내 모든 점 쌍 간 거리의 평균 | 균형 잡힌 형태 | 단일 및 완전 연결의 절충. |
중심 연결 | 두 군집의 중심(평균) 사이의 거리 | - | 계산 효율적이지만 역전 현상 발생 가능[1]. |
와드 연결 | 두 군집 병합 시 발생하는 분산 증가량 | 균일한 크기의 군집 | 오차 제곱합 최소화. 가장 널리 사용됨. |
단일 연결은 두 군집에서 가장 가까운 두 개체 사이의 거리를 군집 간 거리로 정의한다. 이 방법은 군집 경계 효과에 취약하여 서로 다른 군집이 가까이 있을 때 하나의 긴 체인 형태로 병합되는 경향이 있다. 반면, 완전 연결은 두 군집에서 가장 먼 두 개체 사이의 거리를 사용하여, 보다 조밀하고 구형에 가까운 군집을 형성한다.
평균 연결은 두 군집 내 모든 개체 쌍 간 거리의 평균을 사용하며, 단일 연결과 완전 연결의 단점을 보완하는 균형 잡힌 방법으로 간주된다. 중심 연결은 각 군집의 중심점(평균 벡터) 사이의 유클리드 거리를 계산하는데, 계산이 효율적이지만 덴드로그램에서 거리 역전 현상이 발생할 수 있다. 가장 인기 있는 방법 중 하나인 와드 연결은 두 군집을 병합했을 때 군집 내 오차 제곱합이 얼마나 증가하는지를 거리로 측정한다. 이 방법은 군집 내 분산을 최소화하는 방향으로 병합이 진행되어, 일반적으로 크기가 비슷하고 균일한 군집을 생성한다.
3.1. 단일 연결
3.1. 단일 연결
단일 연결은 계층적 군집 분석에서 사용되는 가장 기본적인 연결 방법 중 하나이다. 이 방법은 두 군집 간의 유사도를 정의할 때, 서로 다른 두 군집에 속한 모든 객체 쌍의 거리 중 가장 가까운(최소) 거리를 사용한다. 따라서 '최근접 이웃 연결'이라고도 불린다.
이 방법은 군집을 병합하는 기준이 매우 관대한 편이다. 두 군집 사이에 단 하나의 객체라도 매우 가까이 위치하면, 나머지 객체들이 서로 멀리 떨어져 있어도 두 군집은 하나로 병합될 가능성이 높다. 이 특성으로 인해 군집들이 길쭉한 형태나 사슬 모양으로 늘어지는 현상이 자주 발생한다. 이는 단일 연결이 군집의 응집력보다는 군집 간의 최단 연결에 민감하게 반응하기 때문이다.
연결 방법 | 군집 간 거리 정의 | 주요 특징 |
|---|---|---|
단일 연결 | 서로 다른 군집 내 두 점의 최소 거리 | 사슬 모양 군집 형성, 노이즈에 민감 |
단일 연결의 계산 복잡도는 비교적 낮은 편이며, 특히 비유클리드 거리나 계층적 군집 분석에 적합한 경우가 있다. 그러나 군집 내의 객체들이 밀집되어 있지 않고 흩어져 있는 '사슬 효과'로 인해 의미 있는 군집을 찾기 어려울 수 있으며, 이상치나 노이즈에 매우 취약하다는 단점을 가진다.
3.2. 완전 연결
3.2. 완전 연결
완전 연결은 계층적 군집 분석에서 사용되는 연결 방법 중 하나로, 두 군집 간의 최대 거리를 그 군집들 사이의 거리로 정의한다. 이 방법은 군집 내 모든 객체 쌍의 거리 중 가장 먼 거리를 기준으로 군집을 병합하기 때문에, 상대적으로 조밀하고 컴팩트한 군집을 형성하는 경향이 있다.
완전 연결의 계산 방식은 다음과 같다. 두 군집 A와 B가 있을 때, 군집 A에 속한 모든 점과 군집 B에 속한 모든 점 사이의 유클리드 거리를 계산한다. 이 거리 값들 중 최댓값을 두 군집 사이의 거리로 채택한다. 수식으로 표현하면, 거리 d(A, B) = max{d(x, y) : x ∈ A, y ∈ B} 이다. 이 방식은 군집이 병합될 때마다 군집 간 최대 거리가 갱신되며, 이 값을 기준으로 다음 병합 단계가 진행된다.
이 방법의 주요 특징은 군집의 형태에 민감하게 반응한다는 점이다. 군집 간에 단 하나의 객체라도 멀리 떨어져 있으면 그 거리가 전체 군집 간 거리로 평가받기 때문에, 군집이 확장되는 것을 매우 보수적으로 제한한다. 결과적으로 생성되는 군집들은 일반적으로 직경이 작고 구형에 가까운 모양을 띈다. 이는 단일 연결 방법이 생성하는 길쭉한 체인 형태의 군집과 대비되는 특징이다.
완전 연결은 잡음이나 이상치에 대해 단일 연결보다 강건한 것으로 알려져 있다. 하나의 이상치가 군집 전체의 병합을 주도하는 것을 방지하기 때문이다. 그러나 이 보수성은 단점이 되기도 하는데, 실제로는 서로 가까운 객체들이라도 한 군집에 속한 일부 객체들이 다른 군집의 객체들과 비교적 멀리 떨어져 있다는 이유만으로 별개의 군집으로 유지될 수 있다. 이는 군집의 크기가 불균형해지거나 실제 패턴을 과도하게 분리하는 결과를 초래할 수 있다.
3.3. 평균 연결
3.3. 평균 연결
평균 연결은 계층적 군집 분석에서 사용되는 연결 방법 중 하나로, 두 군집 간의 모든 객체 쌍의 평균 거리를 두 군집 간의 거리로 정의한다. 이 방법은 단일 연결과 완전 연결의 중간 성격을 가지며, 극단적인 값에 덜 민감한 비교적 균형 잡힌 결과를 제공하는 특징이 있다.
평균 연결의 거리 계산은 다음과 같은 수식으로 표현된다. 군집 A와 군집 B 사이의 거리 d(A, B)는 A에 속한 모든 점 a_i와 B에 속한 모든 점 b_j 사이의 거리의 평균으로 계산된다[2]. 이 방식은 군집의 크기나 형태에 따른 편향을 완화하는 효과가 있다.
연결 방법 | 계산 방식 | 특징 |
|---|---|---|
가장 가까운 두 점의 거리 | 긴 사슬 모양 군집 형성 | |
가장 먼 두 점의 거리 | 조밀한 구형 군집 형성 | |
평균 연결 | 모든 점 쌍의 평균 거리 | 중간적 특성, 균형 잡힌 결과 |
이 방법은 군집 내 분산을 고려하여 군집을 병합하기 때문에, 상대적으로 일관된 크기와 밀도를 가진 군집을 발견하는 데 유리하다. 단일 연결이 노이즈나 이상치에 민감하고 완전 연결이 군집 크기에 민감한 반면, 평균 연결은 이러한 문제를 완화한다. 그러나 모든 점 쌍의 거리를 계산해야 하므로, 계산 비용은 단일 연결이나 완전 연결보다 높은 편이다.
3.4. 중심 연결
3.4. 중심 연결
중심 연결은 계층적 군집 분석에서 사용되는 연결 방법 중 하나로, 두 군집 간의 거리를 각 군집의 중심(centroid) 사이의 거리로 정의한다. 이 방법은 두 군집의 중심점을 계산한 후, 그 두 점 사이의 유클리드 거리를 군집 간 거리로 사용한다. 다른 이름으로는 중심법 또는 UPGMC라고도 불린다.
중심 연결의 계산 과정은 다음과 같다. 먼저, 각 군집의 중심, 즉 군집 내 모든 데이터 포인트의 평균 좌표를 구한다. 그런 다음, 두 군집을 병합할 때는 이렇게 계산된 두 중심점 사이의 거리를 측정한다. 새로운 군집이 형성되면, 그 새로운 군집의 중심은 다시 계산된다. 이 방법은 평균 연결과 유사하지만, 군집 간 거리를 계산할 때 개별 데이터 포인트 쌍의 평균을 내지 않고 중심점 하나의 좌표만을 사용한다는 점에서 차이가 있다.
이 방법의 주요 특징은 단일 연결이나 완전 연결에 비해 군집의 크기나 모양에 덜 민감한 경향이 있다는 점이다. 그러나 중심 연결은 한 가지 중요한 수학적 단점을 가지고 있다. 바로 역전 현상이 발생할 수 있다는 것이다. 역전 현상은 덴드로그램에서 병합 거리가 이전 단계의 병합 거리보다 작아지는, 즉 군집이 병합되는 높이가 감소하는 비단조적인 현상을 말한다. 이는 덴드로그램 해석을 어렵게 만들 수 있다.
따라서 중심 연결은 개념적으로 직관적이지만, 역전 현상으로 인해 실제 분석에서는 평균 연결이나 와드 연결과 같은 다른 방법들보다 덜 자주 사용되는 편이다.
3.5. 와드 연결
3.5. 와드 연결
와드 연결은 계층적 군집 분석에서 사용되는 연결 방법 중 하나로, 군집을 병합할 때 군집 내 분산의 증가량을 최소화하는 기준을 사용한다. 이 방법은 와드 방법 또는 최소분산법이라고도 불린다.
이 방법의 핵심은 두 군집을 병합했을 때 발생하는 오차 제곱합의 증가를 계산하고, 이 증가량이 가장 작은 두 군집을 선택하여 병합하는 것이다. 오차 제곱합은 각 데이터 포인트가 속한 군집의 중심(중심값)까지의 거리의 제곱합을 의미한다. 따라서 와드 연결은 군집 내의 데이터들이 가능한 한 응집되어 있고, 군집 간에는 이질성이 커지도록 군집을 형성한다. 이는 결과적으로 크기가 비슷하고 구형에 가까운 군집을 생성하는 경향이 있다.
다른 연결 방법과 비교했을 때 와드 연결의 특징은 다음과 같다.
연결 방법 | 주요 기준 | 군집 형태 특성 |
|---|---|---|
최소 거리 | 길쭉한 체인 형태 가능 | |
최대 거리 | 컴팩트하고 크기 제한됨 | |
평균 거리 | 중간 성격 | |
와드 연결 | 분산 증가 최소화 | 크기 균일, 구형에 가까움 |
와드 연결은 민감도가 높아 이상치의 영향을 크게 받을 수 있으며, 거리 측정에 유클리드 거리를 사용하는 것이 일반적이다. 이 방법은 군집의 응집성을 최우선으로 하기 때문에 생물학적 분류나 문서 군집화 등에서 안정적인 결과를 제공하는 경우가 많다. 그러나 계산 비용이 상대적으로 높고, 거리 행렬만을 사용하는 다른 방법들과 달리 원본 데이터의 실제 좌표값 정보가 필요할 수 있다는 점이 구현상의 차이점이다.
4. 분석 과정과 단계
4. 분석 과정과 단계
분석 과정은 일반적으로 거리 행렬 계산, 군집 병합 또는 분할, 덴드로그램 생성의 세 가지 주요 단계로 구성된다.
첫 번째 단계는 데이터 포인트 간의 유사도 또는 거리를 계산하여 거리 행렬을 생성하는 것이다. 이 행렬은 각 객체 쌍 사이의 거리 값을 저장하는 대칭 행렬이다. 일반적으로 사용되는 거리 측정법으로는 유클리드 거리, 맨해튼 거리, 코사인 유사도 등이 있다. 이 단계에서 선택한 거리 측정법은 최종 군집 구조에 큰 영향을 미친다.
두 번째 단계는 선택한 연결 방법에 따라 군집을 반복적으로 병합(상향식)하거나 분할(하향식)한다. 상향식 접근법에서는 각 데이터 포인트를 개별 군집으로 시작하여, 가장 가까운 두 군집을 순차적으로 하나로 합친다. 이 과정은 하나의 군집만 남을 때까지 계속된다. 각 병합 단계에서 사용되는 연결 방법(예: 단일 연결, 완전 연결, 평균 연결)은 군집 간 거리를 정의하는 방식이 다르다. 병합 과정은 다음 표와 같이 기록된다.
병합 단계 | 군집 A | 군집 B | 군집 간 거리 | 새 군집 크기 |
|---|---|---|---|---|
1 | 1 | 4 | 1.2 | 2 |
2 | 2 | 5 | 1.5 | 2 |
3 | [1,4] | 3 | 2.1 | 3 |
... | ... | ... | ... | ... |
마지막 단계는 병합 이력을 시각화한 덴드로그램을 생성하는 것이다. 덴드로그램은 트리 구조로, 수평선(또는 수직선)의 위치는 병합이 일어난 거리 값을 나타낸다. 분석자는 이 덴드로그램을 보고 수평선을 적절한 거리 수준에서 자름으로써 최종 군집 수를 결정한다. 덴드로그램의 가지 길이는 군집이 형성된 상대적 순서와 군집 내 응집도를 보여주는 중요한 정보가 된다.
4.1. 거리 행렬 계산
4.1. 거리 행렬 계산
계층적 군집 분석의 첫 번째 핵심 단계는 거리 행렬을 계산하는 것이다. 이는 분석 대상이 되는 모든 데이터 포인트 쌍 간의 유사성 또는 비유사성을 수치화한 정방행렬이다. 일반적으로 유클리드 거리가 가장 널리 사용되지만, 데이터의 특성에 따라 맨해튼 거리, 코사인 유사도, 자카드 지수 등 다양한 거리 측정 방법을 선택할 수 있다.
거리 행렬은 대칭 행렬이며, 주대각선의 값은 자기 자신과의 거리이므로 0이다. N개의 데이터 포인트가 있을 경우, 행렬의 크기는 N x N이 된다. 계산 과정은 각 포인트를 다른 모든 포인트와 비교하여 수행되며, 그 결과는 이후 군집 병합 또는 분할의 기준이 된다.
데이터 포인트 | A | B | C |
|---|---|---|---|
A | 0 | 2.5 | 4.1 |
B | 2.5 | 0 | 1.8 |
C | 4.1 | 1.8 | 0 |
위 표는 세 개의 점(A, B, C)에 대한 가상의 거리 행렬 예시이다. 예를 들어, 점 A와 점 B 사이의 거리는 2.5이고, 점 B와 점 C는 1.8로 가장 가깝다. 이 정보를 바탕으로 알고리즘은 가장 가까운 쌍(여기서는 B와 C)을 먼저 하나의 군집으로 병합하게 된다.
거리 행렬 계산의 정확도는 최종 군집 구조의 질을 직접적으로 결정한다. 따라서 데이터의 스케일 차이가 클 경우 정규화 또는 표준화를 선행하는 것이 중요하다. 또한, 범주형 데이터를 다룰 때는 해밍 거리와 같은 적절한 측정법을 사용해야 한다.
4.2. 덴드로그램 생성
4.2. 덴드로그램 생성
덴드로그램은 계층적 군집 분석의 과정과 결과를 시각적으로 표현한 트리 구조의 도표이다. 이는 분석의 각 단계에서 어떤 개체나 군집이 병합되었는지를 보여주며, 최종적으로는 하나의 루트 노드로 수렴하는 모양을 가진다.
덴드로그램을 생성하는 과정은 거리 행렬 계산과 군집 병합이 반복되는 분석 과정과 밀접하게 연결되어 있다. 알고리즘은 가장 가까운 두 개체(또는 군집)를 찾아 하나의 군집으로 병합하고, 이 새로운 군집과 나머지 개체/군집 간의 거리를 선택한 연결 방법에 따라 재계산한다. 이 병합 과정은 모든 개체가 하나의 군집으로 통합될 때까지 반복되며, 각 병합 단계와 그때의 거리(또는 유사도) 값이 덴드로그램의 가지와 높이로 기록된다.
덴드로그램의 수직축(높이)은 일반적으로 군집이 병합될 때의 거리 또는 비유사성(dissimilarity)을 나타낸다. 가지가 낮은 위치에서 연결되면 유사도가 높은 개체들이 일찍 병합되었음을 의미하며, 높은 위치에서 연결되면 상대적으로 이질적인 군집들이 후기에 병합되었음을 시사한다. 수평축은 개체나 군집의 이름을 배열하지만, 그 순서는 시각적 명확성을 위해 알고리즘에 의해 조정될 수 있다.
덴드로그램 요소 | 설명 |
|---|---|
리프 노드 | 트리의 가장 끝에 위치하며, 분석의 기본 단위인 개별 데이터 포인트나 샘플을 나타낸다. |
내부 노드 | 두 개의 자식 군집(리프 노드 또는 다른 내부 노드)이 병합되어 생성된 새로운 군집을 의미한다. |
가지의 높이 | 해당 내부 노드에서 병합이 일어난 시점의 거리(비유사도) 값을 나타낸다. 군집 간 거리가 클수록 가지는 높게 위치한다. |
루트 노드 | 트리의 최상단 노드로, 모든 개체가 하나의 군집으로 통합된 최종 상태를 나타낸다. |
생성된 덴드로그램은 군집 수 결정을 위한 핵심 도구로 활용된다. 분석자는 수직축을 가로지르는 가상의 수평선을 그어 군집을 나눔으로써, 서로 다른 거리 임계값에 따른 군집 구성을 탐색할 수 있다. 이는 데이터의 자연스러운 계층 구조를 직관적으로 파악하고 적절한 군집 개수를 선택하는 데 결정적인 정보를 제공한다.
4.3. 군집 수 결정
4.3. 군집 수 결정
군집 수 결정은 덴드로그램을 시각적으로 분석하거나, 특정 기준을 적용하여 최적의 군집 개수를 선택하는 과정이다. 이는 분석의 최종 결과를 해석하고 활용하기 위한 핵심 단계이다.
가장 일반적인 방법은 덴드로그램의 수직선을 가로지르는 가상의 수평선을 그어 군집을 나누는 것이다. 수평선이 덴드로그램의 수직 막대(군집이 병합되는 지점)를 자르는 횟수가 곧 형성되는 군집의 수가 된다. 수평선의 높이(거리 또는 비유사도)를 조정함으로써 군집의 수를 조절할 수 있으며, 높이가 낮을수록 많은 소규모 군집이, 높을수록 적은 수의 대규모 군집이 생성된다. 적절한 높이는 병합 거리가 급격히 증가하는 지점, 즉 덴드로그램에서 막대가 길게 뻗는 부분을 기준으로 판단하는 경우가 많다.
보다 정량적인 접근법으로는 엘보우 방법이나 실루엣 계수와 같은 척도를 사용한다. 엘보우 방법은 군집 내 분산의 합이 급격히 줄어드는 속도가 감소하는 지점(팔꿈치처럼 꺾이는 점)의 군집 수를 선택한다. 실루엣 계수는 각 데이터 포인트가 자신이 속한 군집 내에서 얼마나 조밀하게 묶여 있고, 다른 군집과는 얼마나 명확히 분리되어 있는지를 -1부터 1 사이의 점수로 측정하며, 이 점수의 평균값이 최대가 되는 군집 수를 고려한다. 최종 결정은 분석 목적, 도메인 지식, 그리고 선택한 군집 구조의 실용성을 종합적으로 고려하여 내린다.
5. 덴드로그램 해석
5. 덴드로그램 해석
덴드로그램은 계층적 군집 분석의 결과를 시각적으로 표현한 트리 구조 다이어그램이다. 이는 데이터 포인트들이 어떻게 단계적으로 병합되어 최종적으로 하나의 군집을 형성하는지 그 과정을 보여준다. 가로축은 각 데이터 포인트 또는 군집을 나타내며, 세로축(또는 수직선의 높이)은 두 군집이 병합될 때의 유사도 또는 거리를 의미한다.
덴드로그램을 해석하는 핵심은 수직선의 높이(병합 거리)와 수평선의 길이를 살펴보는 것이다. 수직선이 길수록 서로 유사도가 낮은(거리가 먼) 군집들이 병합되었음을 의미한다. 따라서 덴드로그램을 아래에서 위로 올라가며 보면, 비슷한 개체들끼리 먼저 병합되고, 점점 덜 비슷한 군집들이 병합되는 과정을 확인할 수 있다. 최종적으로는 모든 개체가 하나의 루트 노드로 연결된다.
덴드로그램은 최적의 군집 수를 결정하는 데 유용한 지침을 제공한다. 가장 일반적인 방법은 수직선이 급격하게 길어지는 지점을 찾는 것이다. 예를 들어, 병합 거리가 2에서 3으로 증가할 때는 완만했지만, 3에서 10으로 급격히 증가하는 지점이 있다면, 그 지점 바로 아래에서 덴드로그램을 가로로 자른다. 이렇게 자른 선과 교차하는 수직선의 개수가 형성되는 군집의 수가 된다. 덴드로그램의 구조를 통해 데이터의 자연스러운 그룹화 수준과 군집 내 응집도 및 군집 간 분리도를 직관적으로 평가할 수 있다.
6. 장점과 단점
6. 장점과 단점
계층적 군집 분석은 덴드로그램을 통해 군집 구조의 전체적인 계층을 시각적으로 파악할 수 있다는 점이 가장 큰 장점이다. 이는 분석자가 데이터의 자연스러운 그룹화 수준을 다양한 관점에서 탐색하고, 적절한 군집 수를 사전에 고정하지 않고도 선택할 수 있게 해준다. 또한, 단일 연결이나 완전 연결과 같은 다양한 연결 방법을 적용함으로써 데이터의 특성에 맞는 군집 구조를 도출할 수 있는 유연성을 제공한다. 대부분의 방법론이 객체 간 유클리드 거리와 같은 거리 측정에 기반하므로 결과의 해석이 비교적 직관적이다.
그러나 이 방법은 몇 가지 명확한 단점을 지닌다. 가장 큰 문제는 계산 복잡도가 매우 높다는 점이다. 일반적으로 n개의 데이터 포인트에 대해 거리 행렬을 계산하고 갱신하는 과정의 시간 복잡도는 O(n³)에 이르며, 메모리 사용량도 거리 행렬 저장을 위해 O(n²) 수준이 필요하다[3]. 따라서 수만 개 이상의 대규모 데이터셋에는 적용하기 어렵다. 또한, 한 번 객체가 군집에 할당되면 이후 단계에서 재조정되지 않는 결정론적(deterministic) 특성 때문에 초기 단계의 잘못된 병합 또는 분할이 최종 결과에 큰 영향을 미칠 수 있다. 이는 알고리즘이 지역적 최적점에 빠질 가능성이 있음을 의미한다.
다른 단점으로는 대부분의 연결 방법이 특정 군집 형태에 편향될 수 있다는 것이다. 예를 들어, 단일 연결 방법은 체인 효과로 인해 길쭉한 형태의 군집을 생성하는 경향이 있으며, 완전 연결 방법은 크기가 비슷하고 조밀한 구형의 군집을 선호한다. 또한, 노이즈나 이상치에 민감할 수 있어, 데이터 전처리 과정이 중요해진다. 이러한 계산적 비용과 방법론적 한계 때문에, K-평균 군집화 같은 비계층적 군집 분석 방법이 대규모 데이터에 더 널리 사용되는 경우가 많다.
7. 응용 분야
7. 응용 분야
계층적 군집 분석은 다양한 분야에서 데이터의 자연스러운 그룹 구조를 발견하고 시각화하는 데 널리 활용된다. 특히 데이터 포인트 간의 계층적 관계를 보여주는 덴드로그램이 유용하게 사용된다.
생물정보학에서는 유전자 발현 데이터 분석에 자주 적용된다. 수천 개의 유전자 발현 패턴을 계층적 군집 분석을 통해 군집화하면, 기능적으로 유사한 유전자들을 그룹으로 식별할 수 있다. 이는 특정 질병이나 생물학적 과정과 연관된 유전자 네트워크를 이해하는 데 도움을 준다. 또한, 계통수 작성에도 사용되어 생물 종 간의 진화적 유연관계를 추정한다.
마케팅과 사회과학에서는 고객 세분화에 활용된다. 소비자의 구매 이력, 인구통계학적 특성, 행동 데이터를 바탕으로 유사한 프로필을 가진 고객 군집을 형성한다. 이를 통해 타겟팅된 마케팅 전략을 수립하고 맞춤형 서비스를 설계할 수 있다. 예를 들어, 온라인 리테일러는 고객을 구매 빈도, 선호 카테고리, 평균 구매 금액에 따라 계층적으로 군집화하여 각 군집별 맞춤 프로모션을 기획한다.
이미지 분석 및 컴퓨터 비전 분야에서는 이미지 세분화나 객체 인식에 사용된다. 픽셀의 색상, 명암, 질감 정보를 기반으로 유사한 픽셀들을 계층적으로 병합하여 이미지 내의 동질적인 영역을 찾아낸다. 이는 배경과 전경을 분리하거나 의료 영상에서 특정 조직을 식별하는 데 적용된다. 문서 클러스터링에서는 비슷한 주제를 다루는 문서들을 자동으로 그룹화하여 정보 검색 및 조직화 시스템의 성능을 향상시킨다.
응용 분야 | 주요 활용 목적 | 분석 대상 데이터 예시 |
|---|---|---|
유전자 기능 군집화, 계통 분석 | 유전자 발현 데이터, DNA 서열 | |
고객 세분화, 시장 조사 | 구매 이력, 인구통계 데이터, 설문 응답 | |
이미지 세분화, 객체 인식 | 픽셀 색상/명암 값, 질감 특징 벡터 | |
주제별 문서 클러스터링 | 텍스트 문서의 단어 빈도 행렬 |
7.1. 생물정보학
7.1. 생물정보학
계층적 군집 분석은 생물정보학 분야에서 유전자 발현 데이터, 단백질 서열, 계통수 생성 등 다양한 분석에 널리 활용되는 핵심 기법이다. 특히 대규모 생물학적 데이터에서 패턴을 발견하고 유사한 개체들을 그룹화하는 데 효과적이다.
가장 대표적인 응용은 마이크로어레이나 RNA-seq 실험을 통해 얻은 유전자 발현 프로파일 분석이다. 수천 개의 유전자 발현 수준을 측정한 데이터에서, 발현 패턴이 유사한 유전자들을 군집화하여 공통적으로 조절되거나 동일한 생물학적 경로에 관여하는 유전자 집단을 식별한다. 예를 들어, 특정 암 조직 샘플들에서 유사하게 발현이 증가하는 유전자 군집을 찾아내면, 이는 해당 암의 발생 메커니즘과 연관된 후보 유전자군으로 연구될 수 있다. 이때 생성되는 덴드로그램은 유전자들 간의 발현 유사성 계층 구조를 직관적으로 보여준다.
분석 대상 | 주요 목적 | 활용 예 |
|---|---|---|
기능적 유사성 기반 유전자 군집화 | 암 서브타입 분류, 공동 조절 유전자 네트워크 발견 | |
진화적 유연관계 분석 | 계통발생학적 나무(계통수) 작성, 종 분화 연구 | |
질병 표현형 데이터 | 환자 군집화 및 질병 하위 유형 발견 | 맞춤형 의학을 위한 환자 층화 |
또한, 단백질이나 DNA의 염기 서열 데이터를 비교하여 종이나 유전자 계열 간의 진화적 거리를 계산하고, 이를 바탕으로 계통수를 작성하는 데에도 필수적이다. 단일 연결이나 평균 연결 등의 방법을 사용하여 서열 유사성이 높은 개체들을 단계적으로 병합함으로써 진화적 계보를 추정한다. 이는 신종 바이러스의 변이 추적이나 종 분화 역사 규명 등에 활용된다.
7.2. 마케팅 세분화
7.2. 마케팅 세분화
계층적 군집 분석은 고객 세분화를 수행하여 타겟 마케팅 전략을 수립하는 데 효과적으로 활용된다. 이 기법은 사전에 군집의 수를 지정할 필요 없이, 고객 데이터베이스에 기록된 다양한 속성(예: 인구통계학적 정보, 구매 이력, 웹사이트 행동 데이터)을 기반으로 고객들을 자연스럽게 계층 구조로 그룹화한다. 분석 결과 생성된 덴드로그램을 통해 마케터는 다양한 세분화 수준(예: 몇 개의 대규모 그룹으로 나눌지, 또는 더 세부적인 그룹으로 나눌지)을 시각적으로 탐색하고 비즈니스 목적에 가장 적합한 군집 수를 선택할 수 있다.
일반적인 분석 과정은 다음과 같다. 먼저, 연령, 소득, 지난 6개월간 구매 횟수, 평균 구매 금액, 선호 카테고리 등의 변수들을 표준화한 후, 유클리드 거리나 코사인 유사도 등을 사용하여 각 고객 간의 유사도 또는 거리를 계산한다. 이후 선택한 연결 방법에 따라 가장 유사한 개체 또는 군집부터 순차적으로 병합한다. 예를 들어, 완전 연결 방법은 군집 내 모든 구성원 간의 최대 거리를 기준으로 하여 조밀하고 컴팩트한 군집을 형성하는 경향이 있어, 명확한 프로필을 가진 고객 그룹을 찾는 데 유용하다.
이렇게 형성된 군집들은 각기 다른 마케팅 전략의 대상이 된다. 분석 결과는 다음과 같은 표로 정리하여 해석할 수 있다.
군집 번호 | 주요 특성 (예시) | 추천 마케팅 전략 |
|---|---|---|
1 | 고연령, 고소득, 명품 구매 빈도 높음 | 프리미엄 제품 라인 초대, VIP 서비스 제공 |
2 | 젊은 연령대, SNS 활발, 가격 민감도 높음 | 소셜 미디어 할인 쿠폰 타겟팅, 인플루언서 마케팅 |
3 | 중간 연령대, 가족 단위 구매, 주말 구매 집중 | 대용량 패키지 프로모션, 가족 이벤트 광고 |
이러한 세분화를 통해 기업은 모든 고객에게 동일한 메시지를 보내는 대신, 각 군집의 특성과 니즈에 맞춘 맞춤형 커뮤니케이션(예: 개인화된 이메일, 맞춤형 상품 추천)을 설계할 수 있다. 결과적으로 마케팅 예산의 효율성을 높이고, 고객 만족도와 고객 생애 가치를 향상시키는 데 기여한다.
7.3. 이미지 분석
7.3. 이미지 분석
계층적 군집 분석은 이미지 처리와 컴퓨터 비전 분야에서 이미지 분할, 객체 인식, 텍스처 분석 등 다양한 작업에 활용된다. 이 방법은 픽셀 또는 이미지 영역 간의 유사성을 기반으로 계층 구조를 형성하여 시각적 데이터를 조직화하는 데 효과적이다.
가장 일반적인 응용은 이미지 분할이다. 여기서는 이미지를 구성하는 각 픽셀을 개별 데이터 포인트로 간주하고, 색상, 밝기, 텍스처 등의 특징을 사용하여 유클리드 거리나 다른 척도로 거리를 계산한다. 단일 연결 방법은 경계가 불분명한 객체를 연결하는 데 유용할 수 있으며, 완전 연결이나 평균 연결은 더 균일한 영역을 생성하는 경향이 있다. 분석 결과 생성된 덴드로그램을 특정 높이에서 절단하면 이미지가 여러 개의 동질적인 영역으로 분할된다.
객체 인식 및 분류 작업에서는 유사한 시각적 패턴을 가진 이미지 패치 또는 전체 이미지를 군집화하는 데 사용된다. 예를 들어, 위성 이미지에서 토지 피복 유형(산림, 수역, 도시 지역)을 자동으로 구분하거나, 의료 영상에서 정상 조직과 병변 조직을 식별하는 데 적용될 수 있다. 계층적 군집 분석의 장점은 사전에 군집 수를 지정할 필요가 없어 탐색적 분석에 적합하다는 점이다. 그러나 대규모 고해상도 이미지의 경우 모든 픽셀 쌍 간의 거리 행렬을 계산해야 하므로 계산 비용이 매우 높아질 수 있다는 단점이 있다.
8. 계층적 vs. 비계층적 군집 분석
8. 계층적 vs. 비계층적 군집 분석
계층적 군집 분석과 비계층적 군집 분석은 데이터를 그룹화하는 두 가지 주요 패러다임이다. 가장 근본적인 차이는 군집 구조의 생성 방식에 있다. 계층적 군집 분석은 모든 데이터 포인트 간의 관계를 포괄하는 덴드로그램이라는 트리 구조의 계층을 생성한다. 이는 상향식 병합 또는 하향식 분할을 통해 수행되며, 분석자는 사전에 군집 수를 지정할 필요가 없다. 반면, 비계층적 군집 분석, 가장 대표적으로 K-평균 군집화는 사전에 정의된 K개의 군집 수를 기반으로 데이터를 분할한다. 각 데이터 포인트는 가장 가까운 군집 중심에 할당되며, 이 과정은 할당이 수렴할 때까지 반복된다.
두 방법의 성능과 계산 효율성도 대비된다. 계층적 군집 분석은 모든 데이터 쌍 간의 거리 행렬을 계산하고 갱신해야 하므로, 데이터 포인트 수가 n일 때 일반적으로 O(n³)에 가까운 계산 복잡도를 가진다[4]. 이는 대규모 데이터셋에는 비효율적일 수 있다. K-평균 군집화는 일반적으로 O(n * K * I)의 복잡도를 가지며(I는 반복 횟수), 대용량 데이터에 더 확장하기 쉬운 편이다. 결과의 해석 측면에서 계층적 방법은 덴드로그램을 통해 다양한 수준의 군집화를 시각적으로 탐색하고 적절한 군집 수를 사후에 결정할 수 있는 유연성을 제공한다. 비계층적 방법은 일반적으로 단일 수준의 평면적인 군집 할당을 생성하며, 최적의 K값을 찾기 위해 엘보우 방법이나 실루엣 계수 같은 보조 지표가 필요하다.
다음 표는 두 접근법의 주요 특징을 비교한다.
비교 항목 | 계층적 군집 분석 | 비계층적 군집 분석 (예: K-평균) |
|---|---|---|
군집 구조 | 계층적 트리 구조 (덴드로그램) | 평면적 분할 |
사전 군집 수 지정 | 필요 없음 | 필수 |
계산 복잡도 | 일반적으로 높음 (O(n³) 수준) | 일반적으로 낮음 (O(n * K * I)) |
대규모 데이터 적합성 | 상대적으로 낮음 | 상대적으로 높음 |
주요 알고리즘 예시 | 단일/완전/평균 연결법, 와드 방법 | K-평균, K-메도이드, DBSCAN |
결과의 안정성 | 데이터 순서에 덜 민감함 | 초기 중심점 설정에 민감할 수 있음 |
따라서 방법 선택은 분석 목표와 데이터 특성에 달려 있다. 데이터의 계층적 관계를 탐색하거나 군집 수를 모를 때는 계층적 군집 분석이 유용하다. 반면, 계산 효율성이 중요하거나 사전에 군집 수가 명확하거나 데이터가 매우 클 경우에는 비계층적 방법이 더 적합한 경우가 많다. 때로는 두 방법을 결합하여, 계층적 분석으로 적절한 군집 수를 탐색한 후 이를 K-평균 알고리즘의 입력으로 사용하기도 한다.
9. 구현 도구와 라이브러리
9. 구현 도구와 라이브러리
계층적 군집 분석은 Python과 R을 포함한 여러 프로그래밍 언어와 통계 플랫폼에서 널리 구현되어 있다. 이러한 도구들은 거리 행렬 계산, 다양한 연결 방법 적용, 덴드로그램 시각화 등 분석의 전 과정을 지원한다.
Python에서는 주로 scikit-learn과 SciPy 라이브러리가 사용된다. scikit-learn의 sklearn.cluster.AgglomerativeClustering 클래스는 병합형 군집 분석을 구현하며, 연결 방법과 군집 수를 매개변수로 지정할 수 있다. SciPy의 scipy.cluster.hierarchy 모듈은 더욱 세부적인 제어를 제공하며, linkage, dendrogram, fcluster 등의 함수를 통해 거리 계산, 덴드로그램 생성 및 플로팅, 평면 군집 할당을 수행한다. 다음은 SciPy를 사용한 기본적인 예시이다.
```python
from scipy.cluster.hierarchy import linkage, dendrogram
import matplotlib.pyplot as plt
# linkage 함수로 군집화 수행 (method='ward', 'single', 'complete' 등)
Z = linkage(data, method='ward')
# 덴드로그램 시각화
dendrogram(Z)
plt.show()
```
R에서는 stats 패키지에 기본 내장된 hclust() 함수가 핵심 도구이다. 이 함수는 dist() 함수로 계산된 거리 행렬과 연결 방법을 인자로 받아 군집화 모델을 생성한다. 결과는 plot() 함수를 통해 덴드로그램으로 쉽게 시각화할 수 있다. 추가적으로 cluster 패키지나 dendextend 패키지 등이 고급 시각화와 분석 기능을 제공한다.
```r
# 거리 행렬 계산
dist_matrix <- dist(data)
# 계층적 군집 분석 수행
hc <- hclust(dist_matrix, method = "ward.D2")
# 덴드로그램 플롯
plot(hc)
```
이 외에도 MATLAB, Julia, 상용 통계 소프트웨어인 SPSS와 SAS에서도 계층적 군집 분석을 위한 전용 함수나 메뉴를 제공한다. 선택한 구현 도구는 분석의 유연성, 시각화의 질, 그리고 다른 데이터 처리 단계와의 통합 용이성에 따라 결정된다.
9.1. Python (scikit-learn, SciPy)
9.1. Python (scikit-learn, SciPy)
파이썬 생태계에서는 scikit-learn과 SciPy 라이브러리가 계층적 군집 분석 구현을 위한 강력한 도구를 제공한다. 두 라이브러리는 상호 보완적인 기능을 가지며, 사용자는 분석 목적에 맞게 선택하여 활용할 수 있다.
scikit-learn의 sklearn.cluster.AgglomerativeClustering 클래스는 병합 군집 분석을 위한 고수준 인터페이스를 제공한다. 이 클래스는 다양한 연결 방법을 지원하며, 사전 계산된 거리 행렬을 사용하거나 원본 데이터에서 직접 유클리드 거리를 계산할 수 있다. 가장 큰 장점은 fit_predict 메서드를 통해 각 샘플에 대한 군집 레이블을 쉽게 얻을 수 있다는 점이다. 그러나 이 구현은 덴드로그램을 생성하지 않으며, 주로 최종 군집 할당 결과에 관심이 있을 때 사용된다.
반면, SciPy의 scipy.cluster.hierarchy 모듈은 분석의 전 과정을 세밀하게 제어할 수 있는 저수준 함수들을 제공한다. 일반적인 작업 흐름은 pdist 함수로 거리 행렬을 계산하고, linkage 함수로 계층적 군집을 수행한 후, dendrogram 함수로 결과를 시각화하는 것이다. 이 모듈은 단일 연결부터 와드 연결에 이르기까지 폭넓은 연결 방법을 포함하며, 생성된 덴드로그램을 통해 군집의 병합 과정과 적절한 군집 수를 결정하는 데 유용하다.
라이브러리 | 주요 클래스/모듈 | 주요 기능 | 특징 |
|---|---|---|---|
| 군집 레이블 예측 | 고수준 API, 덴드로그램 생성 불가 | |
| 거리 계산, 연결, 덴드로그램 시각화 | 저수준 제어, 전체 분석 과정 지원 |
두 라이브러리는 함께 사용되는 경우도 많다. 예를 들어, SciPy로 덴드로그램을 생성하여 최적의 군집 수를 결정한 후, 그 수를 파라미터로 하여 scikit-learn의 AgglomerativeClustering을 적용하는 패턴이 일반적이다. 또한, 넘파이 배열과의 완벽한 호환성을 바탕으로 데이터 전처리 및 결과 분석이 용이하다.
9.2. R
9.2. R
R은 통계 컴퓨팅과 그래픽에 특화된 프로그래밍 언어 및 환경으로, 계층적 군집 분석을 수행하기 위한 강력하고 다양한 함수들을 기본적으로 제공합니다. 주로 stats 패키지의 hclust() 함수가 핵심적으로 사용되며, dist() 함수를 통해 거리 행렬을 계산합니다.
분석의 일반적인 단계는 다음과 같습니다. 먼저 dist() 함수를 사용해 데이터 객체 간의 거리 행렬을 생성합니다. 이 함수는 유클리드 거리, 맨해튼 거리 등 다양한 거리 측정법을 지원합니다. 생성된 거리 행렬을 hclust() 함수에 입력하여 군집 분석을 수행하며, 이때 method 인자를 통해 단일 연결, 완전 연결, 평균 연결, 중심 연결, 와드 연결 등의 연결 방법을 지정할 수 있습니다.
분석 결과는 plot() 함수를 사용해 덴드로그램으로 시각화하여 군집 구조를 탐색하고, cutree() 함수를 이용해 원하는 군집 수로 나누어 각 관측치의 군집 할당 결과를 얻을 수 있습니다. 또한 cluster, factoextra 등의 확장 패키지는 덴드로그램의 향상된 시각화와 다양한 유틸리티 함수를 제공합니다. R의 이러한 통합된 환경은 데이터 전처리, 분석 수행, 결과 시각화 및 해석을 하나의 흐름으로 seamless하게 진행할 수 있게 합니다.
