79일차 시작.... (클러스터링)

조동현·2022년 10월 28일
0

[교육] R

목록 보기
8/8

📊 클러스터링 [ 비지도 학습 ]


📌 R 군집 분석 (Clustering)

  • 군집분석이란?
    - 데이터의 패턴에 따른 분류
    - 데이터의 전체 구조를 파악할 때 사용하는 분석 방법\
    - 요소 간의 거리값을 이용해서 군집화한다.

  • 거리계산법
    - 유클리디안 계산법(euclidean)


📌 R 계층적 군집분석 (탐색적 군집분석)

  • 계층적 군집분석
    - 군집의 개수를 모르는 상태에서 군집화됨

  • 사용 방법
    dist(데이터프레임, method="euclidean") : 유클리디안으로 거리 계산
    hclust(dist데이터프레임, method="클러스터링 방법") : 클러스터링 수행_
    cutree(hc데이터프레임, k=개수) : 분리된 군집으로 자르기_
dist_xy <- dist(xy, method="euclidean") ^ 2
hc_sl <- hclust(dist_xy, method='single')
ghc <- cutree(hc_sl, k=3)


📌 R 비계층적 군집분석

  • 비계층적 군집분석
    - K-Means 군집분석을 가장 많이 사용
    - K(군집개수)를 얼마나 줄 것인가에 대한 고민이 필요

  • 사용 방법
    scale(df[2:5]) : 데이터 표준화
    NbClust(scale데이터프레임, min.nc=최소K개수, max.nc=최대K개수, method='kmeans') : 최적의 K개수 구하기_
    kmeans(데이터프레임, K개수) : NbClust로 부터 나온 최적의 K개수를 사용해 K-Means 수행
install.packages("NbClust")
library(NbClust)

data_s <- scale(df[2:5])
nc <- NbClust(data_s, min.nc=2, max.nc=7, method='kmeans')
kmodel <- kmeans(df[,c("bun", "avg")], 4)









profile
데이터 사이언티스트를 목표로 하는 개발자

0개의 댓글