클러스터링 분석: 최적 클러스터 수 선택

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

Lisa Stuart

Data Scientist

최적 k를 위한 방법

  • 실루엣 방법
  • 엘보 방법
Python으로 연습하는 Machine Learning 면접 질문

실루엣 계수

  • 2개의 점수로 구성됩니다
    • 각 관측치와 다른 모든 점의 평균 거리:
      • 동일 클러스터 내
      • 가장 가까운 다른 클러스터
Python으로 연습하는 Machine Learning 면접 질문

실루엣 계수 값

  • -1에서 1 사이
    • 1
      • 동일 클러스터 내에서 매우 가까움
      • 다른 클러스터와는 매우 멀음
    • -1
      • 동일 클러스터 내에서 가깝지 않음
      • 다른 클러스터와 가까움
    • 0
      • 클러스터가 겹침을 의미
Python으로 연습하는 Machine Learning 면접 질문

실루엣 점수

실루엣 점수 그래프

1 https://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html
Python으로 연습하는 Machine Learning 면접 질문

엘보(Elbow) 방법

엘보 메서드 그래프

1 https://www.datanovia.com/en/lessons/determining-the-optimal-number-of-clusters-3-must-know-methods/
Python으로 연습하는 Machine Learning 면접 질문

최적 k 선택 함수

함수/메서드 반환값
sklearn.cluster.KMeans K-평균 클러스터링 알고리즘
sklearn.metrics.silhouette_score 클러스터 안정성을 나타내는 -1~1 점수
kmeans.inertia_ 각 관측치의 최근접 중심까지 SS 거리
range(start, stop) start부터 stop 미만의 값 목록
list.append(kmeans.inertia_) 목록에 inertia 값 추가
Python으로 연습하는 Machine Learning 면접 질문

연습해 봅시다!

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

Preparing Video For Download...