-
R 기초 36 - # 비계층적 군집분석R 2022. 10. 28. 11:38
# 비계층적 군집분석 # K-Means 군집분석을 가장 많이 사용 : K(군집 수)를 얼마? data <- read.csv("testdata/exam.csv", header = T, sep = ' ') data d_data <- dist(data, method = "euclidean") d_data # dist의 결과를 공간적 배치로 표현 gra_data <- cmdscale(d_data) gra_data plot(gra_data, type = 'n') text(gra_data) data$avg <- apply(data[, 2:5], 1, mean) # K-Means : 데이터에 대한 정규화/표준화를 추천, k의 갯수:elbow 기법 data_s <- scale(data[2:5]) head(data_s,2) # best 군집수 얻기 install.packages("NbClust") library(NbClust) nc <- NbClust(data_s, min.nc = 2, max.nc = 5, method = 'kmeans') nc plot(table(nc$Best.nc[1])) # 모델 생성 kmodel <- kmeans(data[, c('bun', 'avg')], 4) kmodel table(kmodel$cluster) cluster <- kmodel$cluster cluster df <- cbind(cluster, data[, c('bun', 'avg')]) df
'R' 카테고리의 다른 글
R 기초 35 - Clustering(군집분석) - 데이터의 패턴에 따른 분류 (0) 2022.10.28 R 기초 34 - 머신러닝의 종류(지도 학습, 비지도 학습, 강화 학습) (0) 2022.10.28 R 기초 33 - 인공신경망 (ANN : Artificial Neural Network) - Perceptron (0) 2022.10.27 R 기초 32 - K-최근접 이웃(K-Nearest Neighbor, KNN) (0) 2022.10.27 R 기초 31 - 서포트 벡터 머신(SVM) (0) 2022.10.27