[머신러닝] 8. 랜덤포레스트 모델

랜덤포레스트 모델

개별 트리 모델의 단점의 해결방안으로 랜덤 포레스트 모델

랜덤 포레스트 배경 - 앙상블

image

image

(x축은 오류율을 나타냄. 거기에서 0.5를 기준으로 오른쪽은 앙상블의 오류율이 좀 높아 짐.

두 개의 class로 나누는 것이라면, 앙상블의 효과는 0.5보다 작은 쪽에서 얻을 수 있음

파란 색 선을 보면 0.5를 기준으로 보면 내려가는 것을 볼 수 있음)

image

랜덤 포레스트 개요

image

핵심 아이디어 : Diversity, Random 확보

  1. 여러 개의 Training data를 생성하여 각 데이터마다 개별 의사결정나무모델 구축 - ★ Bagging ★

  2. 의사결정나무모델 구축 시 변수 무작위로 선택 - ★ Random subspace ★

Bagging (Bootstrap Aggregating)

image

Bagging은 Bootstrap Aggregating 의 약어이다.

  1. 처음에 원래의 데이터(observations)가 있고 Bootstrap 방식으로 여러개의 training subset을 형성함.
  2. 각각의 의사결정나무를 만들고,
  3. 각각의 결과들을 통해서
  4. 최종적으로 예측한다.

image

Bootstrapping이란? sampling 기법이고 추출하는 것이다.

  1. 복원추출을 한다. 한번 뽑으면 다시 집어 넣는 것이다.
  2. 원래의 데이터의 수 만큼의 크기를 갖도록 샘플링하는 것이다.

두 가지를 충족해야지 부스트랩 샘플링이라고 부름.

(데이터 설명)

  1. 부스트랩셋을 설정한다.
  2. 원래의 데이터셋은 x와 y가 각 쌍으로 되어 있음
  3. 총 관측치의 갯수는 10개임
  4. 복원추출하는 것임
  5. 총 B번 시행함

복원추출하는 것이라서 첫번째는 X7이 세번, X1이 선택되지 않음 두번째는 X1이 두번 선택이 되었지만 X5는 선택이 되지 않음 (들어 갈 수도, 들어가지 않을 수도 있음) 원래 데이터가 10개가 있다면 꼭 10개씩 샘플링해야 된다는 것임 이것이 부스트랩의 특징임

랜덤포레스트 특성

image

  1. 입력변수를 무작위 선택
  2. 선택된 입력 변수 중에 분할될 변수를 선택
  3. 이러한 과정을 full-grown tree 될때까지 반복

image

image

image

image

image