Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 밑바닥부터 시작하는 딥러닝
- Django
- 기술통계학
- 밑바닥부터 시작하는 딥러닝2
- 결정계수
- 구글 BERT의 정석
- 히스토그램
- 최소자승법
- 텐서플로2와 머신러닝으로 시작하는 자연어처리
- 오래간만에 글쓰네
- rnn
- 군집화
- numpy
- 머신러닝
- 자연어 처리
- word2vec
- 가설검정
- 코사인 유사도
- 차원축소
- 텍스트 분류
- 기초통계
- student t분포
- 파이썬 pandas
- 감성분석
- 다층 퍼셉트론
- 은준아 화이팅
- 모두의 딥러닝
- F분포
- 회귀분석
- Pandas
Archives
- Today
- Total
데이터 한 그릇
분류7)앙상블 학습, 부스팅 중 LightGBM 본문
- 개요
- 하이퍼 파라미터
개요
LightGBM의 가장 큰 장점은 XGBoost보다 학습에 걸리는 시간이 훨씬 적다는 점이다. 또한 메모리 사용량도 상대적으로 적다. 하지만 예측 성능에는 큰 차이가 없다. LightGBM의 한 가지 단점으로는 과적합의 위험이 있을 수 있다.
LightGBM은 일반 GBM 계열의 트리 분할 방법과 다르게 리프 중심 트리 분할을 택하고 있다. 본래 트리는 트리를 뻗어나갈 때 균형 트리 분할 방식을 사용한다. 최대한 균형 잡힌 트리를 지향하기 때문에 과적합을 방지할 수 있다. 하지만 반대로 균형 잡힌 트리를 만드느라 소요되는 시간이 길다는 단점이 있다. LightGBM은 균형을 잡는데 시간을 많이 소요하지 않고 최대 손실 값을 가지는 리프 노드를 지속적으로 분할하면서 트리의 깊이가 깊어지고 비대칭적인 트리가 생성이 된다.
하이퍼 파라미터
1. learning_rate
0~1사이의 값을 지정
부스팅 스텝을 반복적으로 수행할 때 업데이트되는 학습률 값
작을수록 성능은 높아지지만 시간이 오래걸림
2. max_depth
3.min_child_sample
min_sample_leaf와 동일
리프 기준을 결정하여 과적합 방지
4. num_leaves
하나의 트리가 가질 수 있는 최대 리프 개수
아래는 위스콘신 유방암 데이터를 통해서 lighgbm 모델링을 연습한 코딩
LightGBM도 XGBoost와 마찬가지로 조기 중단을 할 수 있다.
import lightgbm
from lightgbm import LGBMClassifier
lgbm_wrapper = LGBMClassifier(n_estimators = 400)
evals = [(x_test,y_test)]
lgbm_wrapper.fit(x_train,y_train, early_stopping_rounds = 100, eval_metric="logloss",
eval_set=evals, verbose = True)
lgbm_predict = model.predict(x_test)
'머신러닝 > 분류' 카테고리의 다른 글
머신러닝 분류 평가 보충 (1) | 2021.07.27 |
---|---|
분류6)앙상블 학습, 부스팅 중 XGBoost(eXtra Gradient Boost) (0) | 2021.04.15 |
분류4)앙상블 학습 배깅, 랜덤 포레스트(Random Forest) (1) | 2021.04.14 |
분류5)앙상블 학습, 부스팅 중 GBM(Gradient Boosting Machine) (0) | 2021.04.07 |
분류3)앙상블 학습 개요와 보팅 유형 (0) | 2021.04.05 |
Comments