이번 포스팅에서는 파이썬에서 제공하는 lightgbm 패키지의 주요 하이퍼파라미터에 대해 설명하겠습니다.
lightgbm 알고리즘에 대한 일반적인 설명은 아래 포스팅 글을 참고하세요.
lightgbm 주요 하이퍼파라미터 (with 파이썬 래퍼)
No | 파라미터 인수명 | 설명 |
1 | num_iterations (기본값 100) |
- 학습에 활용될 weak learner의 반복 수 |
2 | learning_rate (기본값 0.1) |
- 일반적으로 확습률(learning rate)로 불리우는 파라미터 - weak learner의 반영 수준을 나타냄 - 범위는 0 ~ 1로 클 수록 모형의 업데이트 속도는 빨라짐. 클수록 과적합의 이슈 발생 가능성이 높음 |
3 | max_depth (기본값 -1) |
- 트리의 최대 깊이를 설정 - 0을 지정하면 깊이의 제한이 없음 - 과적합에 가장 민감하게 작용하는 파라미터 중 하나임 (과적합 조절 용도로 사용됨) - 범위: 0 ~ ∞ |
4 | min_data_in_leaf (기본값 20) |
- 최종 leaf node가 되기 위한 최소 레코드 수 - 과적합 제어용으로 활용 |
5 | num_leaves (기본값 31) |
- 하나의 트리가 가지는 최대 leaf 수 |
6 | boosting (기본값 'gbdt') |
- 실행하고자 하는 알고리즘 타입 정의
|
7 | bagging_fraction (기본값 1.0) |
- 데이터 샘플링 비율 - 과적합 제어용 |
8 | feature_fraction (기본값 1.0) |
- 개별 트리 학습 시 선택하는 feature 비율 - 과적합 제어용 |
9 | lamda_l2 (기본값 0) |
- L2 Regularization 적용 값 - feature 개수가 많을 때 적용 검토 - 클수록 과적합 감소 효과 |
10 | lamda_l1 (기본값 0) |
- L1 Regularization 적용 값 - feature 개수가 많을 때 적용 검토 - 클수록 과적합 감소 효과 |
11 | objective (기본값 regression) |
- regression : 회귀 - binary : 이진분류 - multiclass : 다중분류 |
12 | early_stopping_round (기본값 0) |
- 이전 학습 대비 일정 수준 이상의 성능 효과가 없을 시 학습을 중단함 - 지나친 iteration을 줄이는데 도움이 되기 때문에, 학습 속도를 높일 수 있음 |
13 | min_gain_to_split (기본값 0) |
- 트리를 분기하기 위해 필요한 최소한의 gain |
14 | max_cat_threshold (기본값 32) |
- 카테고리 그룹을 정의된 수로 합치고 그룹 경계선에서 분기 포인트 searching - 카테고리 수가 클 때, 과적합을 방지하는 분기 포인트 searching |
사이킷런에서 제공하는 하이퍼파라미터 인수명이 비슷비슷해서 많이 혼동될 수 있습니다.
헷갈리지 마시고, 잘 사용하셔야 하세요^^
다음 포스팅에서는 예제 데이터를 활용해서
lightgbm 알고리즘을 적용해 보겠습니다.
반응형
'Machine Learning > LightGBM' 카테고리의 다른 글
lightgbm 알고리즘을 사용한 이진분류예측모델 적합(with 파이썬) (0) | 2022.02.12 |
---|---|
LightGBM 모델 해석(with R (0) | 2022.01.15 |
LightGBM 모델 결과 저장 및 불러오기(with R) (0) | 2022.01.14 |
Machine Learning (LightGBM)코드 예제(with R) (0) | 2022.01.13 |
Data I/O for LightGBM (with R) (0) | 2022.01.12 |
댓글