728x90
앞서 포스팅한 XGBoost에 관해서 파라미터를 수정해보면서 성능을 늘려 보고자 하였다.
[Kaggle] XGBoost 알아보기 (tistory.com)
4가지 파라미터를 조정해보고자 하였다.
max_depth, gamma, colsample_bytree, colsample_bylevel
max_depth
- 트리의 최대 깊이.
- 0을 지정하면 깊이의 제한이 없음
- 과적합에 가장 민감하게 작용하는 파라미터
- 너무 크면 과적합
- 일반적으로 3 ~ 10
gamma
- leaf node의 추가분할을 결정할 최소 손실 감소값.
- 알고리즘을 보수적으로 만듦. loss function에 따라 조정
- 해당값보다 손실이 클게 감소할 때 분리
- 값이 클수록 과적합 감소
- 범위 : 0 ~
colsample_bytree
- 각 트리마다의 feature 샘플링 비율.
- 트리 생성에 필요한 feature의 샘플링에 사용
- feature가 많을 대 과적합 조절에 사용
- 일반적으로 0.5 ~ 1
colsample_bylevel
- 트리의 level별로 feature 샘플링 비율.
- 일반적으로 0.5 ~ 1
각각 일반적인 범위 내에서 각각을 변화시키면서 모델을 돌려보고
accuracy_score(pred,y_test)
model.score(X,y)
train을 train과 val로 나눠서 예측한 정확도와 모델의 성능을 비교하여 두 스코어가 높으면서 차이가 적은 모델을 사용하고자 하였다. 차이가 크다면 과적합일 수 있기 때문
그렇게 해서 정한 값은
max_depth=8, gamma=2, colsample_bytree=0.8, colsample_bylevel=0.9
(원래 3, 1, 1, 1)
이중에 효과가 있던건 gamma뿐이었다.
'@@@ 데이터분석 > Kaggle' 카테고리의 다른 글
[Kaggle] XGBoost 알아보기 (0) | 2023.01.05 |
---|---|
[Kaggle] Titanic 성능 향상(23.01.04) (0) | 2023.01.04 |
[Kaggle] Titanic 연습해보기 (1) | 2022.12.30 |
[Kaggle] Kaggel 자주 사용하는 함수 (0) | 2022.12.27 |
[Kaggle] 분류 문제 - Titanic - Machine Learning from Disaster (2) (0) | 2022.12.26 |