2020. 9. 27. 00:32ㆍ카테고리 없음
[패스트캠퍼스 수강 후기] R 인강 100% 환급 챌린지 49차 미션
패스트캠퍼스의 강의 중, 프로젝트와 함께 배우는 R 데이터 분석 올인원 패키지 Online를 수강하고 있습니다.
내용을 복습도 할 겸, 미션에도 참가할 겸, 블로그에 매일 매일 정리해 보게 되었습니다.
오늘은 49회차 미션!
-
15. Ch 04. Hierarchical Clustering Analysis - 02. Hierarchical Clustering 예제 실습 1-1
-
16. Ch 04. Hierarchical Clustering Analysis - 03. Hierarchical Clustering 예제 실습 1-2
-
15. Ch 04. Hierarchical Clustering Analysis - 02. Hierarchical Clustering 예제 실습 1-1
-
계층적 군집화의 실습
-
USArrest데이터
-
R에 내장된 데이터
-
미국 주별 범죄에 대한 통계
-
살인, assault(폭행), 인구, 강간에 대한 데이터
-
우선 결측치부터 체크
-
is.na()
-
summary()
-
각 데이터의 주요값 확인
-
median과 mean의 차이값이 커보이진 않지만, 각 피처별로, 절대값이 오더가 많이 다름
-
boxplot으로 그려보면,
-
평균의 크기 외에도, 분포의 차이도 크다.
-
murder는 20정도의 차이의 분포인데, assault는 150에 가까운 분포가 있음
-
이를 해결하기 위해서 표준화를 실시
-
이렇게 보면 피처별 차이가 적음
-
rape에 아웃라이어가 있음이 눈에 띔
-
따라서 아웃라이어를 제거해보자.
-
arrange함수를 쓰면 행이름이 사라짐
-
따라서 rowname_to_column을 이용해서 우선 행 이름을 열의 항목으로 추가
-
그 후 arrange를 하고서 내림차순으로 한 후
-
slice로 처음 2개를 제거
-
그리고 다시 column_torownames로 행 이름 복구
-
16. Ch 04. Hierarchical Clustering Analysis - 03. Hierarchical Clustering 예제 실습 1-2
-
이제 앞에서 다듬었던 자료를 이용해서 분석해보자.
-
유사도 행렬 생성 (유클리드 거리 이용)
-
dist ()라는 함수 사용
-
method 는 euclidean
-
군집 구성방식을 5가지 모두 사용해보자.
-
그 후, dendrogram을 생성해서 시각화!
-
cex는 글씨크기
-
hang은 줄기가 아래에서 올라오도록 그린다는 의미
-
k=4로 사용
-
여기서는 그냥 적당히 4로 해본 것...
-
실제로는 각자가 시행착오로 골라봐야 함.
-
single을 이용한 결과
-
-
각각 다른 방법을 사용한 것
-
이건 ward를 사용한 것
-
강사는 average나 ward방법을 추천
-
여러 데이터를 사용하는 방법이니까
-
ward를 사용한 것.
-
1~4까지의 군집에 각각 10개, 19개, 7개, 12개의 데이터가 할당되었음을 알 수 있다.
-
그리고 각 군집번호를 각 지역에다가 붙여줌 df.rm.outlier$cluster <- df.clusters
-
이제 이런 데이터를 2차원 시각화를 해보자.
-
-
library(factoextra)를 사용
-
군집별 평균치를 살펴보자.
-
그룹별 평균을 구하는 방법이 다양하게 있지만,
-
여기서는
-
library(reshapre2)를 사용
-
우선 클러스터별로 데이터를 펼쳐주고, value를 기입
-
그 후, 마치 엑셀의 피봇테이블을 쓰듯이
-
dcast를 활용
-
dcast인자에서, temp라는 데이터셋에 대하여
-
cluster ~ variable
-
cluster들에 대한 각 variable이라는 변수의 값을 나열하라는 의미
-
값은 mean (평균)
-
들을 나열하라는 의미
-
이제 barplot으로 그려주면...
-
군집별 특징을 살펴보자
-
1, 4는 완전히 다른 군집으로 보이고..
-
2, 3도 독특한 구성을 보임...
-
이렇게 봤는데, 군집별 특징이 잘 보이지 않으면 k값을 변경해서 해보면 됨...