XGBoost
소개
Gradient Boost을 최적화한 알고리즘.
주요 장점
- 빠른 수행 시간 ( C/C++ 언어로 작성)
- 뛰어난 예측 성능
- 과적합 규제
- Tree Pruning
- 자체 교차 검증 기능
- 자체 결손 값 처리
- 병렬 처리 지원
XGBoost Algorithm
주요 과제
트리의 분리 기준과 각 노드의 가중치를 어떻게 설정할 것인가?
위 과제에 대한 해결방안을 손실 함수를 구하는 과정을 통해 얻을 수 있다.
※ 손실 함수 : 오류를 측정하는 함수
XGBoost는 Gradient Boost처럼 잔차를 점차 줄여나가는 방식으로 진행되는데
위 그래프에서 Loss function(손실 함수)의 기울기가 최소가 되는 지점을 알면W(weight) 값(노드의 가중치)을 알 수 있다.
손실 함수를 알게 되면 트리 분할하면서 얻는 Gain 값을 계산한 후 Gain 값이 큰 분리 기준을 선택하는 방식으로 잔차를 줄여나간다.
진행 과정
Reference
[1] https://www.youtube.com/watch?v=VkaZXGknN3g
[2] https://www.youtube.com/watch?v=OtD8wVaFm6E&list=WL&index=3
[3] https://zephyrus1111.tistory.com/232
21. XGBoost에 대해서 알아보자
이번 포스팅에서는 부스팅 계열에 떠오르는 샛별 XGBoost에 대해서 알아보려고 한다. 여기에서는 XGBoost의 개념, 알고리즘 동작 원리를 예제와 함께 알아보고자 한다. - 목차 - 1. XGBoost란 무엇인가?
zephyrus1111.tistory.com
[4] https://www.kaggle.com/code/azminetoushikwasi/xgboost-wrangling-with-hyperparameters-guide
XGBoost | Wrangling with Hyperparameters | Guide
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
'데이터 분석 > 머신러닝' 카테고리의 다른 글
부스팅 알고리즘 (Boosting Algorithm) (2) | 2022.10.05 |
---|---|
랜덤 포레스트 (Random Forest) (0) | 2022.10.02 |
앙상블(Ensemble) (0) | 2022.10.02 |
결정 트리(Decision Tree) (0) | 2022.09.25 |
유튜브 댓글 분석하기 (0) | 2022.06.15 |
댓글