본문 바로가기
Machine Learning/LightGBM

lightgbm 주요 하이퍼파라미터 (with 파이썬)

by 찐남 2022. 2. 8.
이번 포스팅에서는 파이썬에서 제공하는 lightgbm 패키지의 주요 하이퍼파라미터에 대해 설명하겠습니다.

 

lightgbm 알고리즘에 대한 일반적인 설명은 아래 포스팅 글을 참고하세요.

 

LightGBM 개요

LightGBM은 트리 기반 학습 알고리즘을 사용하는 그래디언트 부스팅 프레임워크입니다. 다음과 같은 이점이 있는 효율적이고 잘 분산되도록 설계된 알고리즘입니다. 더 빠른 훈련 속도와 더 높은

zzinnam.tistory.com

 

 

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')
- 실행하고자 하는 알고리즘 타입 정의
  • gdbt : Gradient Boosting Decision Tree
  • rf : Random Forest
  • dart : Dropouts meet Multiple Additive Regression Trees
  • goss : Gradient-based One-Side Sampling
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 알고리즘을 적용해 보겠습니다.

반응형

댓글