<XGBoost>
- 트리 기반의 앙상블 학습 알고리즘 중 하나
- 분류에 있어서 일반적으로 뛰어난 예측 성능 나타냄
- GBM 기반. GBM 단점인 느린 수행 시간/과적합 규제(Regularization) 부재 등 문제 해결됨
▷ 병렬 CPU 환경에서 병렬 학습 가능해 GBM보다 빠르게 학습 완료 가능
<XGBoost 주요 장점>
- 뛰어난 예측 성능 : 분류/회귀 영역에서 일반적으로 뛰어난 예측 성능
- GBM 대비 빠른 수행 시간 : 병렬 수행으로 GBM 비교적 빠름
- 과적합 규제 Regularization : 자체 과적합 규제 기능으로 좀 더 강한 내구성 가능
- 나무 가지치기 Tree pruning : 더 이상 긍정 이득이 없는 분할을 가지치기해서 분할 수를 줄일 수 있음
- 자체 내장된 교차 검증 : 반복 수행 시 교차 검증을 수행해 최적화된 반복 수행 횟수 가질 수 있음.
- 결손값 자체 처리
*XGBoost는 독자적인 프레임워크 기반의 XGBoost 가 있고, 사이킷런과 연동되는 모듈이 있는데
여기서는 사이킷런과 연동되는 XGBoost 를 다룰예정
▶ 위스콘신 유방암 데이터 세트를 활용해 사용법 살펴보기
- 종양의 크기, 모양 등 다양한 속상값을 기반으로 악성/양성 분류한 데이터
- 양성 : benign / 음성 : malignant
▶ 데이터 불러오기


많은 속성이 숫자형으로 되어 있음.
이거는 info() 를 통해서도 알 수 있음.

다 float로 되어있는데 맨 마지막 target만 int32로 되어 있음.
악성 malignant 가 0, 양성 benign이 1로 되어있음. 분포를 확인해보면


이렇게 1인 benign, 양성의 데이터가 조금 더 많은 것을 확인할 수 있음.
▶ 데이터 분할
80% 학습, 20% 테스트 ▷ 80%학습용에서 90% 최종학습, 10% 검증용
: 검증용을 별도로 분할이유는 검증 성능평가와 조기중단 수행해보기 위해 (XGBoost 자체 제공)


▷ 최종 train 409개, validation 46개, test 114개


GBM때보다는 훨씬 더 빠르게 결과가 나오기도 했고,
성능도 좋게 나왔다.
데이터 갯수가 몇 개 되지 않지만 이정도면 나쁘지 않은 것 같고,
데이터 수가 더 많아진다면 좀 더 성능이 향상될 것이다.
'머신러닝 > 개념익히기' 카테고리의 다른 글
| ML LightGBM w.위스콘신 유방암 데이터 (4) | 2024.01.02 |
|---|---|
| ML AdaBoost, GBM(Gradient Boosting Machine) (5) | 2023.12.20 |
| ML 결정 트리 과적합 Overfitting (2) | 2023.11.29 |
| ML feature의 중요한 역할 지표 (결정 트리 알고리즘) (2) | 2023.11.28 |
| ML 결정 트리 모델 시각화 Graphviz (2) | 2023.11.28 |