카테고리 없음

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

열린세계 2020. 9. 14. 06:05

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

 

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

https://bit.ly/2DKMGNx 

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

 

오늘은 36회차 미션!

Part 2) [R로 하는 데이터 분석] 데이터 분석 기본기 익히기

  1. 18. Ch 04. Naive Bayes Classification - 04. Naive Bayes Classification 예제 실습

  2. 19. Ch 05. Decision Tree와 Random Forest _01_Decision Tree와 Random Forest의 개념 이해 - 1

 

  1. 18. Ch 04. Naive Bayes Classification - 04. Naive Bayes Classification 예제 실습

    1. 와인 데이터를 가지고 실습을 해보자.

      1. caret 데이터 가져오고

      2. 와인 데이터 가져오고

      3. 범주형 자료로 명목형 변수로 변환

    2. 다시 앞서와 동일하게 training/test로 분할

        1. 앞의 13개가 피처.

          1. 사실 안나워도 되는데, 

            1. 사실 마지막 4줄은 caret에는 불필요

    3. 이제 나누어진 training데이터를 이용하여

      1. crossvalidation을 이용하여 5번 반복

        1. kernal = FALSE일 때의 정확도가 더 높음(0.98) - TRUE일 땐 0.97

        2. 맨 아랫줄을 보면

          1. adjust = 1이라고 되어 있긴 한데,

            1. bandwidth는 usekernel이 TRUE일 때만 의미가 있음

            2. 따라서 위에서는 의미없는 값

          2. laplace = 0을 썼다.

          3. kernel도 사용하지 않았다는 의미

    4.    plot(nbFit)을 써보면

      1. FALSE, TRUE일 때의 정확도를 비교해서 보여줌

    5.  이제 테스트를 해보자

      1. predict함수를 사용

        1. confusionMatrix형태 (분할표로 보여줌)

        1. test결과는 정확도가 94.44%

    6. 변수의 중요도 파악 가능

        1. 각 피처에 대해서 ROC커브를 그려봄

          1. 면적이 넓을 수록 좋음

  2. 19. Ch 05. Decision Tree와 Random Forest _01_Decision Tree와 Random Forest의 개념 이해 - 1

    1. 용어

      1. 의사결정나무

      2. random forest는 한국어로는 없어.

        1. 각각 나무와 숲이 들어간 이름

          1. 나무보다는 숲이 좀 더 넓은 개념이라고 이해할 수 있음 ^^

        2. 이름 그대로 각각 의사결정하는 데 사용하고, 뭔가 random한 방법을 사용

    2. 배드민턴을 가지고 적용해보자.

      1. 의사결정나무

        1. 테스트1의 방법을 이용하여 네/아니오로 나누어보자.

      2. 아래와 같이 루트노드와 리프노드라고 부름

          1. 부모노드, 자식노드라고 부르기도 함

          2. 중요한 건 '노드'라는 용어

      3. 테스트의 결과가 또 다른 테스트로 나올 수도 있음

        1. 테스트1만으로 배드민턴을 칠 지 확실히 알 수 없을 경우에는 테스트2가 결과물로 나올 수도 있음

      4. 좋은 decision tree란?

        1. 가능한 한 가장 작은 나무를 좋은 decision tree라고 함

            1. 좌측은 1번의 테스트로 결과가 나옴

            2. 우측은 여러 테스트가 필요

      5. 테스트의 순서를 정하는 방법은?

        1. 가장 좋은 테스트를 첫번째 테스트로, 

          1. 그 다음을 2번째 테스트로

      6. 배드민턴 예제에서 테스트를 나누어보자.

        1. 먼저 날씨로...

            1. 흐림과 비일 때는 확실한데, 

              1. 이건 좋음

            2. 맑음일 때는 네/아니오가 모두 존재

              1. 이건 좋지 않음

            3. 여기서는 평가 방법으로 잘 결정한 건 1점씩 주자.

              1. 위에서는 4점 (흐림에 대해 3점, 비에 대해 1점)

        2. 바람에 대해서

            1. 강사) 직접 손으로 그려봐라 (상태) 해보자!)

        3. 온도에 대해서는 2점

        4. 습도에 대해서는? 0점

        5. 최종 결과

              1. 이제 날씨 테스트를 테스트1로 설정

            1.  

        6. 이제 날씨가 맑음일 경우에 대해서만, 바람, 온도, 습도에 대해서 다시 테스트를 해본다.

          1. 바람 테스트 4점

          2. 온도 테스트 2점

          3. 습도는 0점

          1. 이렇게 해서 나온 최종 의사결정 나무

            1. 맨 마지막이 모두 네/아니오로 정확히 구분되어 있음

 

강사는 나이브 베이즈를 기억해 두기를 추천

조건부 확률 등이 머신러닝에서 중요하고 많이 활용됨

이 부분을 제대로 이해 못하면 뒤에서도 계속 헷갈릴 수 있음