덴드로그램(Dendrogram)은 나무(tree)의 구조를 나타내는 다이어그램으로, 데이터나 개체들 간의 계층적 관계를 시각적으로 표현하는 도구이다. 이 용어는 통계학, 데이터 분석, 생물정보학, 계통학 등 다양한 학문 분야에서 널리 사용되는 실제 개념이다.
어원
'덴드로그램'이라는 명칭은 고대 그리스어에서 유래하였다. "나무"를 의미하는 δένδρον(déndron)과 "그림" 또는 "수학적 수치"를 의미하는 γράμμα(grámma)의 합성어로, 문자 그대로 "나무 그림"이라는 뜻을 지닌다.
주요 용도
덴드로그램은 주로 다음과 같은 분야에서 활용된다.
첫째, 계층적 군집화(Hierarchical Clustering)에서 가장 대표적으로 사용된다. 계층적 군집화는 데이터 포인트들을 유사성에 따라 단계적으로 묶어가는 비지도 학습 기법으로, 덴드로그램은 이 과정에서 생성된 클러스터의 배열과 계층 구조를 시각적으로 보여준다. 덴드로그램의 세로축은 군집 간의 거리 또는 유사성 수준을 나타내며, 가로축은 각 데이터 포인트 또는 군집을 나타낸다. 이를 통해 연구자는 적절한 군집의 수를 결정하거나, 각 단계에서 군집이 어떻게 형성되는지 파악할 수 있다.
둘째, 계산생물학에서는 히트맵(heatmap)의 가장자리에 유전자나 샘플의 클러스터링 결과를 덴드로그램으로 표시하여, 유전자 발현 패턴의 유사성을 시각화하는 데 사용된다.
셋째, 계통학(phylogenetics)에서는 다양한 생물학적 분류군 간의 진화적 관계를 나타내는 데 사용된다. 이 경우 덴드로그램은 계통수(phylogenetic tree)라고도 불리며, 종들 간의 진화적 유연관계를 보여준다.
해석 방법
덴드로그램을 해석할 때는 각 단계에서 군집이 어떻게 형성되는지, 그리고 형성된 군집 간의 유사성(또는 거리) 수준을 평가한다. 수평선 위의 지점에서 유사성 또는 거리 값이 바뀌는 패턴을 관찰함으로써, 데이터의 구조적 특성을 파악할 수 있다. 일반적으로 덴드로그램에서 가지가 갈라지는 높이가 낮을수록 해당 개체들 간의 유사성이 높다는 것을 의미한다.
관련 소프트웨어
덴드로그램을 생성하고 시각화하기 위한 다양한 도구가 존재한다. 예를 들어 R 프로그래밍 언어의 'dendextend' 패키지는 계층적 군집화의 트리를 시각화, 조정, 비교하는 기능을 제공한다. 또한 Python, Julia 등 다양한 프로그래밍 환경에서도 덴드로그램을 그릴 수 있는 라이브러리가 제공된다.
덴드로그램은 데이터의 계층적 구조를 직관적으로 이해할 수 있게 해주는 유용한 시각화 도구로서, 통계학과 데이터 과학 분야에서 널리 활용되고 있다.