Clustering

이승수·2021년 8월 8일
0

Scree Plots

적절한 주성분 개수를 알기 위한 그래프 누적비율이 70~80%면 적당하다

Machine Learning

  1. 지도 학습(Supervised Learning): 트레이닝 데이터에 답(label) 이 있을 때 사용할 수 있다
  • 분류(Classification) : 분류 알고리즘은 주어진 데이터의 카테고리 혹은 클래스 예측을 위해 사용된다
  • 회귀(Prediction) : 회귀 알고리즘은 연속한 데이터를 바탕으로 결과를 예측하기 위해 사용된다
  1. 비지도 학습(Unsupervised Learning)
  • 클러스터링 : 데이터의 연관된 feature를 바탕으로 유사한 그룹을 생성
  • 차원 축소 : Dimensionality Reduction 높은 차원을 갖는 데이터셋을 사용하여 feature selection / extraction 등을 통해 차원을 줄이는 방법
  • 연관 규칙 학습(Association Rule Learning) : 데이터셋의 feature들의 관계를 발견하는 방법
  1. 강화학습(Reinforcement Learning) : 머신러닝의 한 형태로, 기계가 좋은 행동에 대해서는 보상, 그렇지 않은 행동에는 처벌이라는 피드백을 통해서 행동에 대해 학습해 나가는 형태

Clustering

clustering의 목적은 주어진 데이터들이 얼마나 어떻게 유사한지를 알아보는 것
주어진 데이터셋을 요약, 정리하는데 있어서 매우 효율적인 방법
(정답을 보장하진 않아서 production의 수준 또는 예측을 위한 모델링에 쓰이기 보다는 EDA를 위한 방법으로 쓰인다)

  • 종류
  1. Hierarchical : Agglomerative(개별 포인트에서 시작 후 점점 크게 합쳐감) / Divisive(한개의 큰 cluster에서 시작 후 점점 작은 cluster로 나눠감)
  2. Point Assignment : 시작시에 cluster의 수를 정한 다음, 데이터들을 하나씩 cluster에 배정시킴
  3. Hard vs Soft Clustering : 일반적으로 Hard Clustering을 Clustering이라 부른다
  • Hard에서 데이터는 하나의 cluster에만 할당
  • Soft에서 데이터는 여러 cluster에 확률을 가지고 할당

K-Means Clustering

  • 과정 (n차원의 데이터에 대해서)
  1. K개의 랜덤한 데이터를 cluster의 중심점으로 설정
  2. 해당 cluster에 근접해 있는 데이터를 cluster로 할당
  3. 변경된 cluster에 대해서 중심점을 새로 계산
  4. cluster에 유의미한 변화가 없을 때까지 2~3번 반복
from sklearn.cluster import KMeans 

kmeans = KMeans(n_clusters = 3)    # 3개의 cluster
kmeans.fit(x)
labels = kmeans.labels_
profile
AI/Data Science

0개의 댓글

관련 채용 정보