13-2. 군집분석
- 계층적 군집분석 -
1) 계층적 군집분석
- 사전에 군집 수 k를 정하지 않고 단계적으로 군집을 형성한다.
- 유사한 객체들을 군집으로 묶고, 그 군집을 기반으로 그와 유사한 군집을 새로운 군집으로 묶어 가면서 군집을 계층적으로 구성함
2) 단일연결법
- 군집 i와 군집 j의 유사성 척도로 두 군집의 모든 객체 쌍의 거리 중 가장 가까운 거리를 사용
- 객체 쌍의 가장 짧은 거리가 작을수록 두 군집이 더 유사하다고 평가
3) 그 외 연결법
4) 단일연결법 예제
- 단일연결법을 사용한 군집화 과정 (유클리디안 거리 사용)
- 덴드로그램은 군집 그룹과 유사성 수준을 표시하는 트리 다이어그램
- 군집이 어떻게 형성되는지 확인하고 형성된 군집의 유사성 수준을 평가
5) 완전연결법 vs 평균연결법
- 데이터 설명
- 1833년 영국 Lancashire 방직 공장 임금
- DAAG package built in 데이터
- 총 51개의 객체
help("wages1833")
- 객체별 5개의 속성
(1) 나이(age)
(2) 남성 근로자 수(mnum)
(3) 남성 근로자 평균 임금(mwage)
(4) 여성 근로자 수(fnum)
(5) 여성 근로자 평균 임금(fwage)
head(wages1833, n=10)
- 데이터 불러오기 (DAAG package)
dat1<-wages1833
dat1<-na.omit(dat1)
결측치 데이터 삭제 (전처리)
str(dat1)
- 계층적 군집분석 : hclust(거리계산결과, method=" ")
dist_data<-dist(dat1)
유클리디안 거리 사용
(1) 완전연결법 적용결과 (거리 계산은 유클리디안 사용)
hc_a <- hclust(dist_data, method = "complete")
plot(hc_a, hang = -1, cex=0.7, main = "complete")
single(단일), complete(완전), average(평균), centroid(중심)
(2) 평균연결법 적용결과 (거리 계산은 유클리디안)
hc_c <- hclust(dist_data, method = "average")
plot(hc_c, hang = -1, cex=0.7, main = "average")
라벨은 일정한 위치로 고정 / 글자 크기 / 메인타이틀
6) 워드 연결방법 (Ward's method)
(3) 워드방법을 적용한 결과 (거리 계산은 유클리디안)
hc_c <- hclust(dist_data, method = "ward.D2")
plot(hc_c, hang = -1, cex=0.7, main = "Ward's method")
'공부 > R & Python' 카테고리의 다른 글
14-1. 연관규칙과 로지스틱회귀분석-연관규칙 분석 1(Association Rule Analysis) (0) | 2020.03.05 |
---|---|
13-3. 군집분석 - 비계층적 군집분석 - (0) | 2020.03.05 |
13-1. 군집분석-군집분석과 유사성척도 (0) | 2020.03.05 |
12-3. 랜덤포레스트 (Random Forest) (0) | 2020.03.04 |
11-2. 의사결정나무 (Decision Tree) 2 (0) | 2020.03.04 |