데이터과학 삼학년

LGBM(LightGBM) 본문

Machine Learning

LGBM(LightGBM)

Dan-k 2023. 5. 10. 01:32
반응형

LGBM이란?

LGBM(LightGBM)은 Microsoft에서 개발한 Gradient Boosting 알고리즘을 기반으로 한 머신 러닝 라이브러리

LGBM은 이전의 Gradient Boosting 라이브러리와 달리 효율적인 분할 알고리즘으로 인해 대용량 데이터에 대한 빠른 속도와 높은 정확도를 제공

다양한 하이퍼파라미터 튜닝 기능과 다양한 기능들을 제공하여 사용자들이 모델링에 적합한 파라미터를 쉽게 찾을 수 있음

https://www.analyticsvidhya.com/blog/2017/06/which-algorithm-takes-the-crown-light-gbm-vs-xgboost/

LGBM의 장점

  1. 빠른 속도: LGBM은 효율적인 분할 알고리즘을 사용하여 대용량 데이터에 대해 빠른 속도를 제공
  2. 높은 정확도: LGBM은 이전의 Gradient Boosting 라이브러리보다 높은 정확도를 제공
  3. 다양한 기능: LGBM은 다양한 하이퍼파라미터 튜닝 기능과 다양한 기능들을 제공하여 사용자들이 모델링에 적합한 파라미터를 쉽게 찾을 수 있음

코드 예시

import lightgbm as lgb
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

# 데이터 로드
data = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)

# LGBM 데이터셋 생성
train_data = lgb.Dataset(X_train, label=y_train)

# 하이퍼파라미터 설정
params = {
    'objective': 'binary',
    'metric': 'binary_logloss',
    'num_leaves': 31,
    'learning_rate': 0.05,
    'feature_fraction': 0.9,
    'bagging_fraction': 0.8,
    'bagging_freq': 5,
    'verbose': 0
}

# 모델 학습
num_rounds = 100
lgbm_model = lgb.train(params, train_data, num_rounds)

# 모델 평가
y_pred = lgbm_model.predict(X_test)
y_pred = [1 if x >= 0.5 else 0 for x in y_pred]
accuracy = sum(y_pred == y_test) / len(y_test)
print(f"Accuracy: {accuracy}")
728x90
반응형
LIST
Comments