[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 Segmentation

군집화 알고리즘

K-means

  • 머신러닝 비지도 학습
  • 데이터를 k개의 군집으로 묶는(clustering) 알고리즘이다.
  • 레이블이 주어지지 않았을 때 주어진 데이터를 묶는 Clustering이다.
  • 추첨 알고리즘에 많이 쓰인다.
  • KNN vs K-means, KNN은 지도학습이고, K-means는 비지도학습이다.

K-means를 이용한 붓꽃(Iris) 데이터 셋 Clstering

Target 제거 후에 비지도 학습용 데이터로 간주 후에 clustering (보통 평균 내는 건 비지도학습으로 간주)

주요 속성

  • labels_ : 각 데이터 포인트가 속한 군집 중심점 레이블
  • cluster_centers : 각 중심점 좌표, 좌표가 어디인지 시각화 가능

세 개의 클러스터를 사용하여 Iris  데이터를 군집화해준다.

각 데이터가 어떤 중심에 속하는지 파악하기

세 개의 Centorid를 기준으로 클러스터링 된 것을 파악할 수 있다.

Inertia(관성)

평균적으로 각각의 Centorid78 거리만큼 뭉쳐져 있는 것을 말하고 있다.

기울기가 급격히 완만해 지는 구간에 클러스터 개수를 정하면 된다. Iris 데이터는 3개의 클러스터의 수가 가장 적합하다.

K-Means 알고리즘의 장단점

장점

  • 구현이 쉽다.
  • 대용량 데이터 구현에 좋다.
  • 수렵성이 보장된다.
  • PCA가 잘 들어맞는다.

단점

  • 우리가 초기값을 정해줘야 한다.
  • 각 그룹 안에서의 분포는 설명이 불가능하다.
  • 범주형 변수가 있으면, 잡음을 만들어낼 수 있다.
  • 이상치에 민감한 경향이 있다.(Scailing과 이상치 제거가 필요하다.)