728x90
반응형
1. 랜덤포레스트
랜덤포레스트란? 랜덤포레스트의 사전적 의미는 "다수의 결정 트리들을 학습하는 앙상블 방법"입니다.
조금 더 쉽게 얘기하면 포레스트(Forest), 숲을 이용한 분석방법이죠.
의사결정나무가 하나의 결정 트리라면 랜덤 포레스트는 무작위로 수많은 나무들을 만들고 학습하는 알고리즘입니다.
집단지성이라는 말이 있듯이, 한 명보다는 두 명이 낫고 두 명보다는 여러명이 낫겠죠?
따라서 하나의 의사결정나무에서 생기는 과적합이나 낮은 성능의 문제점을 보완할 수 있습니다.
2. 배깅
앙상블 기법에는 크게 세 가지 종류가 있습니다. (보팅, 배깅, 부스팅)
이 중 랜덤포레스트는 배깅의 대표적인 알고리즘입니다.
배깅이란? bootstrap aggregating의 줄인말로 bootstrap을 통해 resampling 한 데이터로 학습된 트리들을 집계하는 방법론입니다. 여기서 bootstrap은 하나의 데이터를 중복이 허용되도록 샘플링하는 과정입니다.
따라서 중복이 허용된다면 무작위로 여러 데이터 셋들을 만들 수 있습니다. 그리고 데이터들을 트리에 학습시키고 각 트리별 예측값들을 집계하는 방식이 랜덤포레스트의 원리입니다. 집계하는 방식도 회귀트리는 평균을 사용하고 분류트리에서는 다중 투표를 사용합니다.
3. 장단점
장점
- 비교적 빠른 수행속도
- 비교적 적은 하이퍼 파라미터
- 과적합 방지
단점
- 높은 메모리 사용량
- 해석의 복잡성
- 데이터를 추가해도 어려운 성능 개선
728x90
반응형
'머신러닝' 카테고리의 다른 글
[머신러닝][파이썬] Random Forest Regressor(회귀) (6) | 2022.01.26 |
---|---|
[머신러닝][파이썬] Random Forest Classifier(분류) (0) | 2022.01.25 |
[머신러닝][파이썬]의사결정나무(DecisionTreeRegressor) (2) | 2022.01.19 |
[머신러닝][파이썬] 의사결정나무(DecisionTreeClassifier) (2) | 2022.01.17 |
[머신러닝][개념]의사결정나무 (0) | 2022.01.15 |
댓글