728x90
LightGBM
- GBM Gradient Boost Machine이나, XGBoost보다 학습 시간이 적은 모델
- 데이터가 적은 경우(10000개 이하) 과적합이 발생하기 쉬움
- 기존의 트리 기반 알고리즘들은 균형 트리 분할 방식을 따르나 LightGBM은 리프위주 분할을 함.
-> 손실이 큰 리프 노드를 분할해나감. 트리구조가 비대칭적이나 손실을 최소화할수 있음.
- XGBoost와 마찬가지로 병렬 처리 수행 가능.
LightGBM 하이퍼 파라미터
- num_iteration : 디폴트 100, 반복 수행하는 트리 개수
- learning_rate : 디폴트 0.1
- max_depth : 디폴트 -1
- min_data_in_leaf : 디폴트 20, 리프노드 최소 데이터 개수
- num_leaves : 디폴트 31, 한 트리의 최대 리프개수 등
=> num_leaves를 중심으로, min_data_in_leaf, max_depth 위주로 하이퍼파라미터 조정
pip로 설치하여
유방암 데이터를 교차 검증 수행
!pip install lightgbm
from lightgbm import LGBMClassifier
import pandas as pd
import numpy as np
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import cross_val_score
data = load_breast_cancer()
X = data.data
y = data.target
lgbm = LGBMClassifier()
res = cross_val_score(lgbm, X, y, cv= 5, n_jobs=-1, scoring="accuracy")
print(res)
print(np.mean(res))
평균 정확도 0.968
300x250
'인공지능' 카테고리의 다른 글
파이썬머신러닝 - 16. 캐글 신용카드 사기 검출 (0) | 2020.11.30 |
---|---|
파이썬머신러닝 - 15. LightGBM을 이용한 캐글 산탄데르 고객 만족도 예측하기 (0) | 2020.11.28 |
파이썬머신러닝 - 13. GBM로 사용자 행동 분류 (0) | 2020.11.26 |
파이썬머신러닝 - 12. 랜덤 포레스트로 사용자 행동 분류하기 (0) | 2020.11.26 |
파이썬머신러닝 - 11. 보팅 분류기로 유방암 악성여부 판단하기 (0) | 2020.11.26 |