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

+ Recent posts