계층 구조 시각화

Python으로 배우는 Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

시각화는 인사이트를 전달한다

  • "t-SNE": 데이터셋을 2D로 표시(후반)
  • "계층적 클러스터링"(이번 영상)
Python으로 배우는 Unsupervised Learning

그룹의 계층 구조

  • 생물 분류는 계층을 이룸
  • 클러스터는 서로 포함 관계

 

동물의 계층적 트리

Python으로 배우는 Unsupervised Learning

유로비전 점수 데이터셋

  • 국가들은 유로비전 2016 공연곡에 점수를 부여
  • 점수의 2D 배열
  • 행은 국가, 열은 노래

 

유로비전 데이터

1 https://www.eurovision.tv/page/results
Python으로 배우는 Unsupervised Learning

투표 국가의 계층적 클러스터링

유로비전 계층적 클러스터링

Python으로 배우는 Unsupervised Learning

계층적 클러스터링

  • 각 국가는 개별 클러스터에서 시작
  • 매 단계에서 가장 가까운 두 클러스터를 병합
  • 모든 국가가 하나의 클러스터가 될 때까지 반복
  • 이를 "병합형" 계층적 클러스터링이라 함
Python으로 배우는 Unsupervised Learning

계층적 클러스터링의 덴드로그램

  • 아래에서 위로 읽기
  • 수직선은 클러스터를 의미

유로비전 계층적 클러스터링

Python으로 배우는 Unsupervised Learning

계층적 클러스터링의 덴드로그램

  • 아래에서 위로 읽기
  • 수직선은 클러스터를 의미

유로비전 계층적 클러스터링의 한 클러스터

Python으로 배우는 Unsupervised Learning

덴드로그램, 단계별

유로비전 계층적 클러스터링의 한 클러스터

Python으로 배우는 Unsupervised Learning

덴드로그램, 단계별

그리스/키프로스 클러스터가 강조된 유로비전 계층적 클러스터링의 한 클러스터

Python으로 배우는 Unsupervised Learning

덴드로그램, 단계별

불가리아/그리스/키프로스 클러스터가 강조된 유로비전 계층적 클러스터링의 한 클러스터

Python으로 배우는 Unsupervised Learning

덴드로그램, 단계별

몰도바/러시아 클러스터가 강조된 유로비전 계층적 클러스터링의 한 클러스터

Python으로 배우는 Unsupervised Learning

덴드로그램, 단계별

몰도바/러시아/아르메니아 클러스터가 강조된 유로비전 계층적 클러스터링의 한 클러스터

Python으로 배우는 Unsupervised Learning

덴드로그램, 단계별

그리스/키프로스/불가리아 클러스터와 몰도바/러시아/아르메니아의 병합

Python으로 배우는 Unsupervised Learning

덴드로그램, 단계별

유로비전 계층적 클러스터링

Python으로 배우는 Unsupervised Learning

SciPy로 계층적 클러스터링

  • samples(점수 배열)과 country_names가 주어짐
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import linkage, dendrogram

mergings = linkage(samples, method='complete')
dendrogram(mergings, labels=country_names, leaf_rotation=90, leaf_font_size=6) plt.show()
Python으로 배우는 Unsupervised Learning

연습해 봅시다!

Python으로 배우는 Unsupervised Learning

Preparing Video For Download...