빅데이터11일차 - k-평균 군집화

2020. 8. 4. 11:22·데이터과학/R
728x90

k - 평균 군집화의 과정

 

1단계 : 대상 데이터셋을 준비한다. 이때 산점도 상의 점 하나가 관측값 하나를 의미한다.

2단계 : 산점도 상에 임의의 점 2개(*와 +)를 만든다. 이 2개의 점은 나중에 군집이 완성되었을 때 각 군집의 중심점이 된다. 따라서 군집의 개수만큼 임의의 점을 생성한다.

3단계 : 산점도 상의 점들 하나하나와 임의의 점 2개와의 거리를 계산하여 두 점 중 가까운 쪽으로 군집을 형성한다. 그 결과 그래프의 왼쪽 위의 점들은(*)군집으로, 오른쪽 아래의 점들은(+)군집으로 묶였다.

4단계 : 두 개의 군집에서 중심점을 다시 계산(*와 +도 포함해 계산) (*)의 위치와 (+)의 위치를 새로 계산한 중심점의 위치로 이동한다.

5단계 : 4단계의 과정을 반복한다.

6단계 : (*)와 (+)의 위치가 더 이상 변동되지 않으면 군집의 중심점에 도달했으므로 반복을 중단한다.

7단계 : 마지막으로 (*)와 가까운 점들은 (*)군집으로 (+)와 가까운 점들은 (+)군집으로 표시한다. 군집화를 종료.

 

[그림1] 1단계, 2단계
[그림2] 3단계, 4단계
[그림3] 5,6,7 단계

 

* 즉, k - 평균 군집화의 방법을 정리하면 먼저 군집의 중심점을 찾고, 다른 점들은 거리가 가장 가까운 중심점의 군집에 속하는 것으로 결정한다.

유클리디안 거리를 이용하면 n차원 상의 점 p, q의 거리는 다음과 같이 계산된다.

[그림4] 유클리디안 거리 이용해 계산

 

 

 

R에서 k-평균 군집화 예

 

# k-평균 군집화
mydata <- iris[,1:4] # 데이터 준비
fit <- kmeans(x=mydata,centers=3) # 군집화 개수 centers 3
fit
fit$cluster # 각 데이터에 대한 군집 번호
fit$centers # 각 군집의 중심점 좌표
# 차원 축소 후 군집 시각화
library(cluster)
clusplot(mydata, fit$cluster, color = TRUE, shade=TRUE, labels=2, lines=0)
# color, shade 는 색과 명암? false는 안하겠다는 의미

subset(mydata,fit$cluster==2)# 데이터에서 두번째 군집의 데이터만 출력한다.

 

 

[그림5] k-평균 군집화 데이터 
[그림6] 각 데이터에 대한 군집 번호
[그림7] 차원 축소 및 두 번째 군집의 데이터만 출력하기
[그림8] clusplot이용한 군집 시각화 보여주기

 

 

출처 : 모두를 위한 R 데이터 분석 입문 한빛아카데미

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'데이터과학/R' 카테고리의 다른 글
  • 빅데이터11일차 - 대상 데이터 표준화 후 군집화
  • 빅데이터 10일차 - 머신러닝, 데이터 마이닝, 군집화, 분류,지도학습 비지도학습
  • 빅데이터 10일차 - 이상값(Outlier)인식 방법, 극단값 절단 방법
  • 빅데이터 10일차 - 결측값 인식, 결측값 처리 방법
포장빵
포장빵
IT공부 및 프로그래밍
  • 포장빵
    포장빵의 IT
    포장빵
  • 전체
    오늘
    어제
    • AI 학습 노트 (113)
      • 기초 수학 (4)
        • 선형대수 (0)
        • 확률통계 (4)
        • 미적분 (0)
        • 최적화 이론 (0)
      • AI & 딥러닝 (1)
        • 이론 (0)
        • 컴퓨터 비전 (0)
        • 자연어 처리 (0)
        • 생성AI (0)
        • 강화학습 (0)
      • 데이터과학 (70)
        • R (47)
        • ADSP (21)
      • 연구 & 자료 (15)
        • 논문 (6)
        • 수료증 (3)
      • 프로그래밍 & 개발 환경 (22)
        • Python (22)
        • 개발도구 (0)
        • 알고리즘 (0)
      • 면접 자료 (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      다차원 척보법
      k-평균 군집
      상관분석
      Coursera 1
      단순선형 회귀분석
      베르누이분포
      R 원 그래프 퍼센트
      yolov10
      k-means clustering
      논문
      시퀀스형
      R 도수분포표
      Python Regular Expression Quick Guide
      R 원 그래프
      자료의 종류
      none타입
      시계열 모형
      CV
      str lib
      Python 크롤링 기초
      주성분 분석(PCA)
      yolov9
      지수분포
      매핑형(딕셔너리)
      확률
      python 주요 데이터 타입
      통계량에 의한 자료 분석
      Coursera Python Data Structures
      확률 분포
      stylegan2
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    포장빵
    빅데이터11일차 - k-평균 군집화
    상단으로

    티스토리툴바