https://www.youtube.com/watch?v=J4Wdy0Wc_xQ&t=42s
모든 이미지와 출처는 위영상으로 부터 가져왔다.
1. Randomforest란
Decision Tree는 overfitting될 가능성이 높다는 약점을 가지고 있다. prune을 통해 트리의 최대 깊이를 설정하여 어느정도 방지할 수 있지만 이 방법으로 overfitting을 해결하기에는 무리가 있다.
Random forest는 여러개의 decision tree를 만들어 예측데이터를 각 트리에 동시에 통과시키고, 각 트리가 분류한 결과에서 투표를 실시하여 가장 많이 득표한 결과를 최종 결과로 선택한다.
랜덤 포레스트 중 몇몇개 트리는 overfitting될 수 있지만, 많은 수의 트리를 생성함으로써 overfitting이 예측하는데 있어 큰 영향을 미치지 못 하도록 방지한다.
2. Randomforest 만들기
decision tree에대한 지식이 부족하다면 이해가 힘들 수 있으니 이전 게시글을 보고오는걸 추천한다.
https://gwoolab.tistory.com/24?category=906381
[ML] Decision tree 수학적으로 알아보기 - 분류
1. 트리기반 모델을 자주사용하지만 모델에 대한 이해가 부족한것 같아 하나씩 작성해보려한다. 참조의 대부분은 https://www.youtube.com/watch?v=7VeUPuFGJHk&t=268s 에서 가져왔다. 2-1. decision tree de..
gwoolab.tistory.com
2-1. bootstraped dataset
랜덤 포레스트를 만들기 위해서는 부트스트랩 데이터셋을 먼저 생성한다.
원본데이터와 같은 사이즈의 부트스트랩 데이터를 만들기위해서는 그냥 랜덤으로 오리지날 데이터 셋에서 추출한다.
단 복원추출을 허용하여 데이터를 추출한다. 같은데이터가 두번이상 추출가능하다는 이야기이다.
2-2. columns 선택
예를 들어 한 단계마다 두가지의 변수를 선택한다고 가정하자
첫 분기점에서 두가지의 컬럼을 랜덤하게 선택하고 두 지니계수를 비교해 첫 분기점으로 삼는다.
다음 노드들에서도 랜덤하게 두개의 컬럼을 뽑고 그 안에서 질문을 선택한다.
이렇게 트리하나가 완성이 되는 것이다..
이런 2-1~2-2의 과정을 반복하여 여러가지의 트리를 만들게된다
2-3. voting
최종적으로 만들어지 여러트리에 같은 데이터를 통과시켜 결과를 투표를 한 후 높은 표를 받은 결과를 랜덤포레스트의 최종 결과로 반환한다.
이런 총 과정을 익히들었을
배깅이라고한다.
3. 정리
디시전트리를 랜덤으로 뽑은 row와 column을 통해 만든다 x n개
n개의 트리의 결과를 투표하려 최종 리턴
몇개의 row와 몇개의 column을 뽑을지는 여러번 반복시행후 성능을보고 결정(하이퍼파라미터튜닝)
'ML' 카테고리의 다른 글
[ML] Gradient Boost - Classification (0) | 2022.01.03 |
---|---|
[ML] Gradient Boost - regression (0) | 2021.12.30 |
[ML] Adaboost (0) | 2021.12.29 |
[ML] Regression Tree (0) | 2021.12.28 |
[ML] Decision tree (0) | 2021.12.28 |