Summary #
하나의 트리만 사용하는 Decision Tree Regressor의 경우 하나의 관점만 존재, 정밀성이 떨어진다.
Training에 사용한 데이터에는 잘 맞지만 새로운 데이터를 예측하고자 할때는 잘 맞지 않는다. (Flexibility 낮음)
Random Forests(RF)는 이러한 트리를 여러개 조합하여 Flexibility를 높이고 Accuracy를 좋게 한다.
Step #
- Bootstrapping (first part of Bagging)
Training용으로 사용할 row를 Random하게 추출한다. 이 때 중복 row도 허용한다.
- 여러 개의 Tree 만들기
n개의 컬럼을 Random하게 뽑아서 트리를 만든다. (n값을 조정하여 최적의 모델을 만든다.)
이 과정을 100번을 수행한다.(100은 예시인가?)
그러면 나무가 100개 있는 숲이 만들어진다.
- Aggregate (second part of Bagging)
예측을 하기 위해 각각의 트리에 X값을 넣어 결과를 모으고 결과중 가장 많이 나온 값을 최종 예측값으로 사용한다.
- Evaluate and Find Best Column Count
Bootstrapping에서 사용되지 않은 Data (out-of-bag dataset)를 만들어진 모델에 넣어 에러를 검증한다. (Out-of-bag Error)
컬럼 개수를 조정하여 다시 이 값을 검증하는 식으로 최적의 컬럼 개 수를 찾는다.
일반적으로 컬럼개수의 제곱값 개수만큼으로 시작하여 아래 위로 조정한다.