[머신러닝] 8. 랜덤포레스트 모델
랜덤포레스트 모델
개별 트리 모델의 단점의 해결방안으로 랜덤 포레스트 모델
랜덤 포레스트 배경 - 앙상블
- 앙상블 : 여러 모델들의 예측을 다수결 법칙 또는 평균을 이용해 통합하여 예측 정확성을 향상시키는 방법을 말함.
- 오류율
(x축은 오류율을 나타냄. 거기에서 0.5를 기준으로 오른쪽은 앙상블의 오류율이 좀 높아 짐.
두 개의 class로 나누는 것이라면, 앙상블의 효과는 0.5보다 작은 쪽에서 얻을 수 있음
파란 색 선을 보면 0.5를 기준으로 보면 내려가는 것을 볼 수 있음)
- 앙상블 모델의 베이스 모델로서 의사결정나무를 사용하는 것이 랜덤포레스트
랜덤 포레스트 개요
- T의 결과를 잘 종합하여 최종 예측 총합을 보는 것을 랜덤 포레스트의 개요
핵심 아이디어 : Diversity, Random 확보
-
여러 개의 Training data를 생성하여 각 데이터마다 개별 의사결정나무모델 구축 - ★ Bagging ★
-
의사결정나무모델 구축 시 변수 무작위로 선택 - ★ Random subspace ★
Bagging (Bootstrap Aggregating)
Bagging은 Bootstrap Aggregating 의 약어이다.
- 처음에 원래의 데이터(observations)가 있고 Bootstrap 방식으로 여러개의 training subset을 형성함.
- 각각의 의사결정나무를 만들고,
- 각각의 결과들을 통해서
- 최종적으로 예측한다.
Bootstrapping이란? sampling 기법이고 추출하는 것이다.
- 복원추출을 한다. 한번 뽑으면 다시 집어 넣는 것이다.
- 원래의 데이터의 수 만큼의 크기를 갖도록 샘플링하는 것이다.
두 가지를 충족해야지 부스트랩 샘플링이라고 부름.
(데이터 설명)
- 부스트랩셋을 설정한다.
- 원래의 데이터셋은 x와 y가 각 쌍으로 되어 있음
- 총 관측치의 갯수는 10개임
- 복원추출하는 것임
- 총 B번 시행함
복원추출하는 것이라서 첫번째는 X7이 세번, X1이 선택되지 않음 두번째는 X1이 두번 선택이 되었지만 X5는 선택이 되지 않음 (들어 갈 수도, 들어가지 않을 수도 있음) 원래 데이터가 10개가 있다면 꼭 10개씩 샘플링해야 된다는 것임 이것이 부스트랩의 특징임
랜덤포레스트 특성
- Random Subspace
- 입력변수를 무작위 선택
- 선택된 입력 변수 중에 분할될 변수를 선택
- 이러한 과정을 full-grown tree 될때까지 반복
- Generalization Error
- 중요변수선택
- 하이퍼 파라미터