* 잠깐 짚고넘어가는 배깅 (Bagging)
- 같은 알고리즘으로 여러 개의 분류기를 만들어서 보팅으로 최종 결정하는 알고리즘
<랜덤포레스트>
- 배깅의 대표적인 알고리즘
- 앙상블 알고리즘 중 비교적 빠른 수행 속도, 높은 예측 성능을 보이고 있음.
- 기반 알고리즘 : 결정트리, 쉽고 직관적인 장점을 그대로 가지고 있음.
> 배깅의 앙상블 알고리즘은 대부분 결정 트리 알고리즘을 기반 알고리즘으로 채택
- 여러 개의 결정 트리 분류기가 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링해 개별적으로 학습한 뒤
최종적으로 모든 분류기가 보팅을 통해 예측 결정

<부트스트래핑 분할 방식, bootstrapping)
- 개별 트리가 학습하는 데이터 세트는 전체 데이터에서 일부가 중첩되게 샘플링된 데이터 세트
- 여러 개의 데이터 세트를 중첩되게 분리하는 것을 의미.
> 그래서 bootstrap aggregating 의 줄임말 : Bagging
> 원래 통계학에서 여러 개의 작은 데이터 세트를 임의로 만들어 개별 평균의 분포도를 측정하는 등의 목적을 위한 샘플링 방식을 지칭
<랜덤 포레스트의 서브세트 Subset>
- 부트스트래핑으로 데이터가 임의로 만들어진 것
- 서브세트의 데이터 건수는 전체 데이터 건수와 동일, 개별 데이터가 중첩되어 만들어짐
ex. 원본 데이터 건수가 10개인 학습 데이터 세트에 3개의 결정 트리 기반으로 랜덤포레스트를 학습하려고
n_estimators=3으로 하이퍼 파라미터를 부여하면 다음과 같이 서브세트 가 만들어짐

▶ 이렇게 데이터가 중첩된 개별 데이터 세트에 결정 트리 분류기를 각각 정용하는 것
: 랜덤 포레스트
- 사이킷런 , RandomForestClassifier 클래스.

<랜덤 포레스트 하이퍼 파라미터 및 튜닝>
- 트리 기반의 앙상블 알고리즘 단점 : (굳이굳이 뽑자면) 하이퍼 파라미터가 많고, 튜닝을 위한 시간이 오래걸린다.
> 그럼에도 불구하고 예측 성능이 크게 향상되는 경우가 많지 않다.
> 그나마 랜덤 포레스트가 하이퍼 파라미터가 적은편
▷ 결정 트리에서 사용되는 하이퍼 파라미터와 같은 파라미터가 대부분이기 때문.
- n_estimators : 결정 트리의 개수를 지정. 디폴트는 10개. 많이할수록 성능이 향상될 '수 도' 있지만, 시간이 오래걸림
- max_features : 디폴트는 auto. sqrt와 같음. 트리를 분할하는 피처를 참조할때 전체 피처가 아니라 sqrt(전체 피처 개수)만큼 참조 ex) 전체 피처가 16개라면 분할을 위해 4개 참조
- max_depth : min_samples_leat, min_samples_split와 같이 과적합을 개선하기 위해 사용되는 파라미터


별도 테스트 데이터 세트에서 위에 나온 최적의 하이퍼 파라미터로 수행해본 결과


93%가 나왔다.
'머신러닝 > 개념익히기' 카테고리의 다른 글
| ML 데이터 전처리, Data preprocessing 정의 (0) | 2023.11.26 |
|---|---|
| ML XGBoost 하이퍼파라미터 조정 (0) | 2023.11.19 |
| ML F1 score, ROC 곡선과 AUC (0) | 2023.10.23 |
| ML 정밀도Precision와 재현율Recall, 트레이드오프Trade-off (1) | 2023.10.22 |
| ML 분류 평가지표 - 정확도 Accuracy (0) | 2023.10.19 |