빅데이터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)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

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

    • 최근 글

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

    티스토리툴바