카테고리 없음

[패스트캠퍼스 수강 후기] R 인강 100% 환급 챌린지 49차 미션

열린세계 2020. 9. 27. 00:32

[패스트캠퍼스 수강 후기] R 인강 100% 환급 챌린지 49차 미션

 

패스트캠퍼스의 강의 중, 프로젝트와 함께 배우는 R 데이터 분석 올인원 패키지 Online를 수강하고 있습니다.

https://bit.ly/2DKMGNx 

내용을 복습도 할 겸, 미션에도 참가할 겸, 블로그에 매일 매일 정리해 보게 되었습니다.

 

오늘은 49회차 미션!

  1. 15. Ch 04. Hierarchical Clustering Analysis - 02. Hierarchical Clustering 예제 실습 1-1

  2. 16. Ch 04. Hierarchical Clustering Analysis - 03. Hierarchical Clustering 예제 실습 1-2

 

  1. 15. Ch 04. Hierarchical Clustering Analysis - 02. Hierarchical Clustering 예제 실습 1-1

    1. 계층적 군집화의 실습

    2. USArrest데이터

      1. R에 내장된 데이터

      2. 미국 주별 범죄에 대한 통계

        1. 살인, assault(폭행), 인구, 강간에 대한 데이터

    3. 우선 결측치부터 체크

      1. is.na()

    4. summary()

      1. 각 데이터의 주요값 확인

        1. median과 mean의 차이값이 커보이진 않지만, 각 피처별로, 절대값이 오더가 많이 다름

        2. boxplot으로 그려보면,

          1. 평균의 크기 외에도, 분포의 차이도 크다.

        3. murder는 20정도의 차이의 분포인데, assault는 150에 가까운 분포가 있음

        4. 이를 해결하기 위해서 표준화를 실시

          1. 이렇게 보면 피처별 차이가 적음

            1. rape에 아웃라이어가 있음이 눈에 띔

              1. 따라서 아웃라이어를 제거해보자.

              2. arrange함수를 쓰면 행이름이 사라짐

                1. 따라서 rowname_to_column을 이용해서 우선 행 이름을 열의 항목으로 추가

                2. 그 후 arrange를 하고서 내림차순으로 한 후

                3. slice로 처음 2개를 제거

                4. 그리고 다시 column_torownames로 행 이름 복구

  2. 16. Ch 04. Hierarchical Clustering Analysis - 03. Hierarchical Clustering 예제 실습 1-2

    1. 이제 앞에서 다듬었던 자료를 이용해서 분석해보자.

      1. 유사도 행렬 생성 (유클리드 거리 이용)

        1. dist ()라는 함수 사용

        2. method 는 euclidean

      2. 군집 구성방식을 5가지 모두 사용해보자.

        1. 그 후, dendrogram을 생성해서 시각화!

          1. cex는 글씨크기

          2. hang은 줄기가 아래에서 올라오도록 그린다는 의미

          3. k=4로 사용

            1. 여기서는 그냥 적당히 4로 해본 것...

            2. 실제로는 각자가 시행착오로 골라봐야 함.

          1. single을 이용한 결과

        2.  

          1. 각각 다른 방법을 사용한 것

          1. 이건 ward를 사용한 것

          2. 강사는 average나 ward방법을 추천

            1. 여러 데이터를 사용하는 방법이니까

        1. ward를 사용한 것.

        2. 1~4까지의 군집에 각각 10개, 19개, 7개, 12개의 데이터가 할당되었음을 알 수 있다.

        3. 그리고 각 군집번호를 각 지역에다가 붙여줌 df.rm.outlier$cluster <- df.clusters

    2. 이제 이런 데이터를 2차원 시각화를 해보자.

        1.  

        2. library(factoextra)를 사용

    3. 군집별 평균치를 살펴보자.

      1. 그룹별 평균을 구하는 방법이 다양하게 있지만,

      2. 여기서는

      3. library(reshapre2)를 사용

        1. 우선 클러스터별로 데이터를 펼쳐주고, value를 기입

      4. 그 후, 마치 엑셀의 피봇테이블을 쓰듯이

        1. dcast를 활용

          1. dcast인자에서, temp라는 데이터셋에 대하여

            1. cluster ~ variable

              1. cluster들에 대한 각 variable이라는 변수의 값을 나열하라는 의미

                1. 값은 mean (평균)

              2. 들을 나열하라는 의미

        2. 이제 barplot으로 그려주면...

          1. 군집별 특징을 살펴보자

            1. 1, 4는 완전히 다른 군집으로 보이고..

            2. 2, 3도 독특한 구성을 보임...

          2. 이렇게 봤는데, 군집별 특징이 잘 보이지 않으면 k값을 변경해서 해보면 됨...