5-1. 트리 모델
1. What is tree model
1.1 트리 모델의 기초 의사결정나무
Decision Tree
- 칼럼(feature) 값들을 어떠한 기준으로 group을 나누어 목적에 맞는 의사결정을 만드는 방법
- 하나의 질문으로 yes 또는 no로 decision을 내려서 분류한다.
1.2 트리 모델의 발전
- Decision Tree
- Random Forest
- AdaBoost
- GBM
- XGBoost / LightGBM / CatBoost → 이거를 중점적으로 볼 예정이다.
1.3 Bagging & Boosting
여러 개의 Decision Tree를 이용하여 모델을 생성한다.
Bagging
- 데이터 셋을 샘플링하여 모델을 만들어 나가는 것이 특징이다.
- 샘플링한 데이터 셋을 하나로 하나의 Decision Tree가 생성된다.
- 생성한 Decision Tree의 Decision들을 취합(Aggregation)하여 하나의 Decision을 생성한다.
- Bagging = Bootstrap(데이터를 여러 번 Sampling) + Aggregation(종합; Ensemble)
- 다양한 Tree를 생성한다.
- 각 모델이 서로 연관이 없는 병렬 모델이다.
Decision Tree
- 스무고개를 한다고 생각하면 쉽다.
- 일련의 규칙을 찾는 알고리즘이다.
Boosting
- 샘플링 한 데이터 셋에서 적절하지 않은 데이터에 가중치를 적용하여 다른 트리를 만드는 방식이다.
- 정밀한 Tree를 생성한다.
- 이전 Tree의 오류를 기반으로 하는 순차적 모델이다.
1.4 LightGBM, XGBoost, CatBoost
크게 두가지로 나누어 생각할 수 있다.
- 균형적 구조 → XGBoost, CatBoost
- 비균형적 구조 → LightGBM
두 방법 모두 크게 다르지 않을 수도 있다.
2. Tree model hyper-parameter
2-1. hyper-parameter 살펴보기
Learning rate가 너무 적으면 수렴 속도가 너무 느려지고,
Learning rate가 너무 크면 수렴이 아닌 발산을 할 수도 있다.
모델의 깊이와 잎사귀를 제한하는 방법이 있다. → 이러지 않을 경우 Overfitting의 위험이 있다.
- Column sampling ratio
- Row sampling ratio
2-2. hyper-parameter 실습
Category 변수 다루기
- LightGBM과 CatBoost는 pandas의 category 데이터 타입이 가능하다.
- XGBoost는 오직 numeric 데이터 타입만 가능하다.
- XGBoost는 전처리가 필요하다.
Plot metric으로 train log를 확인할 수 있다.
Plot tree로 tree 구조를 확인할 수 있다.
© NAVER Connect Foundation. All Rights Reserved
'취업준비 > 인공지능' 카테고리의 다른 글
[AI Tech] 1주차 5-3차시 Quiz 3 (1) | 2024.01.21 |
---|---|
[AI Tech] 1주차 5-2차시 트리 모델 연습 (1) | 2024.01.21 |
[AI Tech] 1주차 4-2차시 머신러닝 기본 개념 소개 (2) (3) | 2024.01.21 |
[AI Tech] 1주차 4-1차시 머신러닝 기본 개념 소개 (1) (1) | 2024.01.21 |
[AI Tech] 1주차 3-4차시 Quiz 2 (0) | 2024.01.20 |