클러스터링 분석: 올바른 알고리즘 선택

Python으로 연습하는 Machine Learning 면접 질문

Lisa Stuart

Data Scientist

클러스터링 알고리즘

  • 특성 >> 관측치
  • 모델 학습이 더 어려움
  • 거리 계산에 의존
  • 가장 흔한 비지도 학습 기법
Python으로 연습하는 Machine Learning 면접 질문

클러스터링의 활용

  • 고객 세분화
  • 문서 분류
  • 보험/거래 사기 탐지
  • 이미지 분할
  • 이상 탐지
  • 그 외 다수
Python으로 연습하는 Machine Learning 면접 질문

거리 측도: 맨해튼(택시) 거리

맨해튼 플롯

1 https://en.wikipedia.org/wiki/Taxicab_geometry
Python으로 연습하는 Machine Learning 면접 질문

거리 측도: 유클리드 거리

유클리드 플롯

1 http://rosalind.info/glossary/euclidean-distance/
Python으로 연습하는 Machine Learning 면접 질문

K-평균

K-평균 단계

  1. 초기 중심점
  2. 각 관측치를 가장 가까운 중심점에 할당
  3. 새 중심점 계산
  4. 2–3단계 반복
1 http://sherrytowers.com/2013/10/24/k-means-clustering/
Python으로 연습하는 Machine Learning 면접 질문

응집형 계층적 클러스터링

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

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
Python으로 연습하는 Machine Learning 면접 질문

응집형 클러스터링 연결 방식

  • Ward 연결
  • 최대/완전 연결
  • 평균 연결
  • 단일 연결
Python으로 연습하는 Machine Learning 면접 질문

클러스터링 알고리즘 선택

클러스터 간 거리

  • 클러스터 안정성 평가
  • K-평균과 HC는 유클리드 거리를 사용
  • 군집 간/내 거리

"적절한 비유사도 척도의 선택이 클러스터링 성공에 있어 알고리즘 선택보다 훨씬 중요하다." - Elements of Statistical Learning에서

1 https://slideplayer.com/slide/8363774/
Python으로 연습하는 Machine Learning 면접 질문

클러스터링 함수

함수/메서드 반환
sklearn.cluster.Kmeans K-평균 클러스터링 알고리즘
sklearn.cluster.AgglomerativeClustering 응집형 클러스터링 알고리즘
kmeans.inertia_ 가장 가까운 군집 중심까지의 SS 거리
scipy.cluster.hierarchy as sch 덴드로그램용 계층적 클러스터링
sch.dendrogram() 덴드로그램 함수
Python으로 연습하는 Machine Learning 면접 질문

연습해 봅시다!

Python으로 연습하는 Machine Learning 면접 질문

Preparing Video For Download...