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

2020. 9. 25. 01:12카테고리 없음

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

 

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

https://bit.ly/2DKMGNx 

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

 

오늘은 47회차 미션!

  1. 11. Ch 03. k-Means Analysis - 04. K means 실습 1-1

  2. 12. Ch 03. k-Means Analysis - 05. K means 실습 1-2

 

  1. 11. Ch 03. k-Means Analysis - 04. K means 실습 1-1

    1. whole sales라는 데이터를 이용할 것

      1. 미국의 각 지역별로 어떤 품목을 사는 지, 수량을 조사한 자료임

        1. channel은 유통 채널 - 범주

        2. region은 지역

    2. 언제나처럼 결측치부터 체크 (is.na() 사용)

    3. summary로 기술통계 활용

      1. channel은 2가지 있고

      2. 지역은 3곳

      3. 나머지 데이터에 대해서 mean, median을 체크해보면 숫자의 차이가 꽤 커보임

        1. boxplot으로 시각적으로도 확인

          1. 아웃라이어가 상당히 많이 존재함

          2. k-means는 아웃라이어의 영향을 많이 받기 때문에, 가능하면 아웃라이어를 일부 처리해준 후 분석하는 것이 필요

        2. y축의 숫자 표기법은 기본값은 scientific notation.

          1. options(scipen = 100)

          2. 이를 사용하면 일반 숫자로 표현됨

          3. 다시 box plot을 그려

        3. 아웃라이어를 처리하는 방법 (꼭 해볼 것)

          1. 숫자를 각 피처에 대해서 내림차순으로 정렬

            1. 그렇게 해서 상위 5개씩을 모으고, 

            2. 이에 대해서 distrinct()함수와 anti_join()을이용하여 중복을 제거

        4. 박스플롯을 2개를 나란히 그려서 아웃라이어 제거 전후를 비교해서 그려봄

          1. 아래와 같이 심한 아웃라이어는 제외되었음

          2. 일부는 남아 있지만, 이는 그냥 정말 우량고객들일 수도 있으니, 놔둬도 될 것

        5.  

  2. 12. Ch 03. k-Means Analysis - 05. K means 실습 1-2

    1. 이제 k부터 구해보자.

      1. 엘보우 방법

        1. library(factoextra) 사용

        2. method는 "wss"를 사용

        3. k.max는 최대 15개까지 그려줘라.

        4. 처음에 난수로 점을 지정함.

        1. 위와 같이 그려지고 k=5  정도가 적당해 보임

    2. 이번엔 실루엣 방법!

        1. method만 달라졌어.

        2. 실루엣 방법에선 k=3이 적당해 보여

        3. 하지만 고객을 분류하는 데 3개로만 하는 건 직관적으로 너무 적음

        4. 그래서 5개로 나누자 (실루엣 결과에서 K=5일 때도 값은 높은 편)

    3. 이제 k를 결정했어 (K=5)

      1.  counter = 5 (k=5)

      2. iter.max는 군집화를 최대 몇번 반복할 지 지정 (여기서는 1000회)

      3. 결과

        1. 각 클러스터의 크기

          1. 각각 179, 42, 72, 110, 18개가 포함되어 있음

          2. 5개의 군집에 속한 피처들의 평균도 보여주고 (1~5까지)

        2. 이제 이 평균을 시각화해보자.

          1. 아래와 같음

            1. 군집별 특성이 보임

            2. 1번 군집은 모두 적게 사는 군집

            3. 3번은 우유와 grocery를 많이 사는 군집

          2. 상태)k개수를 달리 했을 때의 군집 특성을 한번 살펴보자.

            1. 개인적으로, 2, 4, 5는 어찌보면 비슷한 군집 특성을 보임 (굳이 나누자면 나눌 수 있겠지만서도...)

        1. 보통 군집화를 마친 후, 각 데이터에 군집 번호를 붙여줌

          1. 그래야 나중에 활용하기 편함

 

개념도 쉬웠지만 활용법도 어렵지 않음.

직접 써먹어보기 쉬울 듯.

 

여기서 꼭 기억하고 해볼 것은

  1. 상태)k개수를 달리 했을 때의 군집 특성을 한번 살펴보자.

    1. 개인적으로, 2, 4, 5는 어찌보면 비슷한 군집 특성을 보임 (굳이 나누자면 나눌 수 있겠지만서도...)

  2. 보통 군집화를 마친 후, 각 데이터에 군집 번호를 붙여줌

    1. 그래야 나중에 활용하기 편함